Bug #5560
closedYAML installation not found and no /usr/local/lib/ruby/1.9.3
Description
I configured the source with "$ ./configure --program-suffix=19" (see attachment) and built it with gcc 4.5.3 and did "make install". Now this happens:
$ gem19 list -l
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
*** LOCAL GEMS ***
bigdecimal (1.1.0)
io-console (0.3)
json (1.6.1, 1.5.4)
minitest (2.7.0, 2.5.1)
rake (0.9.2.2)
rdoc (3.11, 3.9.4)
I noticed that in file include/ruby/version.h the minor ("teeny") is set to "1":
/* API version /
#define RUBY_API_VERSION_MAJOR 1
#define RUBY_API_VERSION_MINOR 9
#define RUBY_API_VERSION_TEENY 1
#define RUBY_API_VERSION_CODE (RUBY_API_VERSION_MAJOR10000+RUBY_API_VERSION_MINOR*100+RUBY_API_VERSION_TEENY)
There are some entries in doc/ChangeLog-1.9.3 which mention API version changes involving "1.9.1" but since I am lacking context it is not clear to me what happened there.
Strangely enough there is no 1.9.3 directory in /usr/lib/ruby but there exists /usr/local/lib/ruby19 which has the same suffix as the one I used during configuring:
$ ls -la /usr/local/lib/ruby*
/usr/local/lib/ruby:
total 36
drwxr-xr-x+ 1 Robert None 0 May 14 11:08 ./
drwxr-xr-x+ 1 Robert root 0 Nov 2 23:46 ../
drwxr-xr-x+ 1 Robert None 0 Nov 2 23:47 1.9.1/
drwxr-xr-x+ 1 Robert None 0 May 14 11:08 gems/
drwxr-xr-x+ 1 Robert None 0 May 14 11:07 site_ruby/
drwxr-xr-x+ 1 Robert None 0 May 14 11:07 vendor_ruby/
/usr/local/lib/ruby19:
total 8
drwxr-xr-x+ 1 Robert None 0 May 14 11:00 ./
drwxr-xr-x+ 1 Robert root 0 Nov 2 23:46 ../
drwxr-xr-x+ 1 Robert None 0 Jan 5 2010 gems/
drwxr-xr-x+ 1 Robert None 0 May 14 11:00 site_ruby/
drwxr-xr-x+ 1 Robert None 0 May 14 11:00 vendor_ruby/
That's why I suspect a build issue.
I also notice that there is /usr/local/lib/ruby19/gems/1.9.1/gems/posix_mq-0.3.0 but this gem is not contained in the list of local gems (see above).
$ ls -l /usr/local/lib/ruby*/gems/*/gems
/usr/local/lib/ruby/gems/1.9.1/gems:
total 16
drwxr-xr-x+ 1 Robert None 0 Nov 2 23:48 json-1.6.1/
drwxr-xr-x+ 1 Robert None 0 Oct 29 14:59 minitest-2.7.0/
drwxr-xr-x+ 1 Robert None 0 Oct 29 14:59 rake-0.9.2.2/
drwxr-xr-x+ 1 Robert None 0 Oct 29 14:59 rdoc-3.11/
drwxr-xr-x+ 1 Robert None 0 Nov 2 23:47 rdoc-3.9.4/
/usr/local/lib/ruby19/gems/1.9.1/gems:
total 4
drwxr-xr-x+ 1 Robert None 0 Jan 10 2010 posix_mq-0.3.0/
Files
Updated by rklemme (Robert Klemme) almost 13 years ago
There is also http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/388429 - not sure whether these are related.
Updated by luislavena (Luis Lavena) almost 13 years ago
API version is 1.9.1, so all the versioned directories inside Ruby 1.9.3 will be "1.9.1"
This is the same for Ruby 1.9.2, and was cleared up in Ruby 1.9.2 release FAQ:
http://www.ruby-lang.org/en/news/2010/08/18/ruby-1-9.2-released/
Now, the missing psych warning is coming form RubyGems, which is complaining you don't have Psych build.
Psych is the default YAML parser on Ruby 1.9.3 and requires libyaml 0.1.3 or 0.1.4 to build.
Please install libyaml and build Ruby again.
As for "posix_mq-0.3.0", it might come from your existing Ruby 1.9.x installation, since the output from "gem19 list" is correct (these gems are bundled with Ruby)
Updated by rklemme (Robert Klemme) almost 13 years ago
Luis, thank you for the information! Unfortunately libyaml is not a cygwin package so I'll have to compile it from source. Unfortunately I am struggling with other (apparently unrelated) issues with compilation on cygwin at the moment. I'll let you know once I remedy that. Maybe I can add a specific installation instruction for cygwin later.
Updated by rklemme (Robert Klemme) almost 13 years ago
OK, I got it working. You can close the issue (apparently I can't).
How I did it: I fetched libyaml from http://pyyaml.org/wiki/LibYAML built and installed it with default settings (i.e. to /usr/local). Then configured Ruby with
$ export CPPFLAGS=-I/usr/local/include
$ export LDFLAGS=-L/usr/local/lib
$ ./configure --program-suffix=19
(Suffix to avoid collisions with the ruby 1.8.7 which is a cygwin package.)
Finally "make" and "make install" as usually.
I checked README and NEWS file in the root directory of the distribution but could not find a list of prerequisites which must be present on the system. Maybe we can improve on that by delivering that list in a file INSTALLATION. What do you think?
Updated by ayumin (Ayumu AIZAWA) almost 13 years ago
- Status changed from Open to Closed