Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rvm install rbx fails on archlinux (mri 1.8 + gcc 4.7 issue) #959

Closed
diegoviola opened this issue May 12, 2012 · 17 comments
Closed

rvm install rbx fails on archlinux (mri 1.8 + gcc 4.7 issue) #959

diegoviola opened this issue May 12, 2012 · 17 comments
Assignees

Comments

@diegoviola
Copy link

On a fresh install of rvm, when doing:

rvm install rbx

The install fails with the logs below:

https://gist.github.com/2663357
https://gist.github.com/2663363

If I install MRI 1.9.3 first and then I install rbx then rbx builds fine. It seems that the issue is with MRI 1.8.7.

I can reproduce this every time. Let me know if you need more information.

My system is Arch Linux x86-64, Linux kernel 3.3.5, GCC 4.7.0 20120505 (prerelease)

Thanks.

@mpapis
Copy link
Member

mpapis commented May 12, 2012

do you have any llvm related stuff installed in your system? please provide:

gcc --version
gcc-4.2 --version
clang --version

@ghost ghost assigned mpapis May 12, 2012
@diegoviola
Copy link
Author

LLVM is not installed on my system.

[diego@(none) ~]$ gcc --version
gcc (GCC) 4.7.0 20120505 (prerelease)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[diego@(none) ~]$ 

I don't have gcc-4.2 or clang installed on my system.

@mpapis
Copy link
Member

mpapis commented May 12, 2012

your issue looks similar too http://stackoverflow.com/questions/6170813/why-cant-i-install-rails-on-lion-using-rvm ... maybe your gcc is to new for Ruby 1.8.7 ? ... maybe we can find a way to test it ?

@diegoviola
Copy link
Author

Yeah, perhaps GCC 4.7.0 is too new for Ruby 1.8.7.

I got the GCC 4.7.0 update on May 7, so 4 days ago.

I remember that before that I still could build RBX with Ruby 1.8.7.

I will try to downgrade GCC and confirm that GCC 4.7.0 is what breaks MRI 1.8.7.

@diegoviola
Copy link
Author

I've tried downgrading to GCC 4.6.3 and it was going on well until it failed with this error: https://gist.github.com/2664019

However, this seems to be another issue, notice how RBX completed to build but it failed during the install phase.

@mpapis
Copy link
Member

mpapis commented May 13, 2012

it looks odd, it's hard to tell what happens there, maybe @brixen could help us interpret the errors on the end of https://gist.github.com/2664019 ...

as for GCC 4.7 + Ruby 1.8.7 - https://bugs.ruby-lang.org/issues/6383 - need to add a warning or some code.

@brixen
Copy link

brixen commented May 13, 2012

Error loading RubyGems plugin "/home/test/.rvm/gems/ruby-1.8.7-p358@global/gems/rubygems-bundler-0.9.2/lib/rubygems_plugin.rb": Missing or uninitialized constant: Psych::Parser (NameError)
An exception occurred running /home/test/.rvm/src/rbx-head/lib/bin/gem.rb
    Missing or uninitialized constant: Psych::Parser (NameError)

Your rubygems-bundler thing forces the use of Psych instead of just using Yaml. libyaml isn't installed, so Psych isn't usable.

@mpapis
Copy link
Member

mpapis commented May 13, 2012

@brixen you are a genius, thank you

So first thing here is that rbx-head gem is loading ruby-1.8.7-p358@global rubygems-bundler-0.9.2/lib/rubygems_plugin.rb this looks to me like environment switching.

What is a mystery for me is why previous gems installed without triggering this, and it kicked at this point. @diegoviola is it always the same point where it fails?

I was also trying to figure out where rubygems-bundler loads psych and only thing I cam with is the mentioned above problem with environmnet switching and problem with requiring it via rubygems - incompatibility between rbx-head and ruby-1.8.7-p358@global.

@mpapis
Copy link
Member

mpapis commented May 13, 2012

@brixen what is interesting I just got the same error in plain RBX - it was not using my gem rubygems-bundler - there were no gems at all in ls /home/mpapis/.rvm/gems/rbx-head-d19{,@global}/

https://gist.github.com/2684548

@mpapis
Copy link
Member

mpapis commented May 13, 2012

by any chance could it be related to compiling RBX with libyaml included - this is quite fresh addition to RVM ...

@diegoviola
Copy link
Author

@mpapis I've did a rvm reinstall rbx, and I got two failures now.

https://gist.github.com/2686465

The first one (MRI):

[test@li418-222 ~]$ cat /home/test/.rvm/log/ruby-1.8.7-p358/rubygems.install.log
[2012-05-13 02:12:49] GEM_PATH="/home/test/.rvm/gems/ruby-1.8.7-p358:/home/test/.rvm/gems/ruby-1.8.7-p358@global:/home/test/.rvm/gems/ruby-1.8.7-p358:/home/test/.rvm/gems/ruby-1.8.7-p358@global" GEM_HOME="/home/test/.rvm/gems/ruby-1.8.7-p358" "/home/test/.rvm/rubies/ruby-1.8.7-p358/bin/ruby" "/home/test/.rvm/src/rubygems-1.8.24/setup.rb"
/home/test/.rvm/rubies/ruby-1.8.7-p358/bin/ruby: symbol lookup error: /home/test/.rvm/gems/ruby-1.8.7-p358/gems/json-1.7.1/lib/json/ext/parser.so: undefined symbol: capi_get_constant
[test@li418-222 ~]$ 

The second one (RBX):

https://gist.github.com/2686500

gist: 2686500 seems to be similar with gist 2664019, I'm not completely sure.

Let me know if you need access to a Arch Linux VM, I could provide you with one without problem.

Thanks.

@mpapis
Copy link
Member

mpapis commented May 13, 2012

@diegoviola final errors look the same

@brixen
Copy link

brixen commented May 13, 2012

@mpapis I built on an archlinux box with no libyaml installed and rbx in 1.9 mode merely warns about Psych not being enabled when installing gems, so it appears some other version of rubygems is being loaded under rvm rather than our bundled version. Rubinius bundles rubygems and rvm should not be installing a separate version.

@mpapis
Copy link
Member

mpapis commented May 13, 2012

I have manually build RBX with libyaml enabled on openSUSE and it failed again with Psych::Parser, I also have removed my gem rubygems-bundler to avoid confusion, here is gist of my operations https://gist.github.com/2689032 .

I'm reporting it back to rubinius/rubinius#1674 as it looks to me like a bug in RBX handling libyaml/psych.

I'm closing it right now, let me know if there is anything RVM should do to fix it and I will reopen.

@mpapis mpapis closed this as completed May 13, 2012
@brixen
Copy link

brixen commented May 13, 2012

Your gist shows it building and linking psych. Further, I have built with both libyaml installed and not installed and rbx does not fail.

What is the output of

rbx -X19 -r psych -e 'p Psych'

@pklingem
Copy link

if your gcc is 4.7, this may help in properly building 1.8.7: http://stackoverflow.com/questions/10820323/install-bundler-using-rvm-ruby-1-8-7-with-gcc-4-7-on-linux

@mpapis
Copy link
Member

mpapis commented May 30, 2012

status for the RBX issue - it is fixed @dbussink has worked on rubinius/rubinius#1674 rubinius/rubinius#1749 rubinius/rubinius#1750 and it compiles fine with external libraries

@pkuczynski pkuczynski added this to the rvm-1.27.0-before milestone May 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants