I'm using
> rvm 1.16.20 (version) by Wayne E. Seguin <
[email protected]>,
> Michal Papis <
[email protected]> [
[To see links please register here]
]
and also got the following error during bundle install
> .rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in `': It seems
> your ruby installation is missing psych (for YAML output). To
> eliminate this warning, please install libyaml and reinstall your
> ruby.
Here are three different ways to resolve this error w/o having to gem install psych
1. export LD_LIBRARY_PATH=/usr/local/lib
2. alter /etc/ld.so.conf
> sudo su - root
> echo /usr/local/lib64 >> /etc/ld.so.conf
> echo /usr/local/lib >> /etc/ld.so.conf
> ldconfig
3. Fix rvm ruby 1.9.3 installation via
> patch .rvm/scripts/functions/manage/ruby < ruby-1.9.3-LDFLAGS.patch
> rvm uninstall ruby-1.9.3-p194
> export LDFLAGS='-L /usr/local/lib64 -L/usr/local/lib -Xlinker -R/usr/local/lib64 -Xlinker -R/usr/local/lib'
> rvm install ruby-1.9.3-p194 --disable-binary
> grep configure_args .rvm/src/ruby-1.9.3-p194/config.log # to confirm LDFLAG
<pre>
$ diff -c .rvm/{src/rvm/,}scripts/functions/manage/ruby
*** .rvm/src/rvm/scripts/functions/manage/ruby 2012-11-10 06:28:14.000000000 +0000
--- .rvm/scripts/functions/manage/ruby 2013-01-25 17:18:00.000000000 +0000
***************
*** 106,123 ****
# when relative is in effect libyaml is installed in ruby itself so it will be moved with ruby
prefix_path="${rvm_rubies_path}/${rvm_ruby_string}" libyaml
! __rvm_update_configure_env CFLAGS="-I${rvm_rubies_path}/${rvm_ruby_string}/include"
! __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib"
if [[ -d "${rvm_rubies_path}/${rvm_ruby_string}/lib64" ]]
! then __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib64"
fi
else
libyaml_installed || libyaml # Installs libyaml
! __rvm_update_configure_env CFLAGS="-I${rvm_path}/usr/include"
! __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib"
if [[ -d "${rvm_path}/usr/lib64" ]]
! then __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib64"
fi
fi
--- 106,123 ----
# when relative is in effect libyaml is installed in ruby itself so it will be moved with ruby
prefix_path="${rvm_rubies_path}/${rvm_ruby_string}" libyaml
! __rvm_update_configure_env CFLAGS="-I${rvm_rubies_path}/${rvm_ruby_string}/include ${CFLAGS}"
! __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib ${LDFLAGS}"
if [[ -d "${rvm_rubies_path}/${rvm_ruby_string}/lib64" ]]
! then __rvm_update_configure_env LDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib64 ${LDFLAGS}"
fi
else
libyaml_installed || libyaml # Installs libyaml
! __rvm_update_configure_env CFLAGS="-I${rvm_path}/usr/include ${CFLAGS}"
! __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib ${LDFLAGS}"
if [[ -d "${rvm_path}/usr/lib64" ]]
! then __rvm_update_configure_env LDFLAGS="-L${rvm_path}/usr/lib64 ${LDFLAGS}"
fi
fi
</pre>