shoes-deprecated
shoes-deprecated copied to clipboard
Building on OS X 10.6 and 10.7
I'm getting the following when I try to build on 10.6 and 10.7. I'm using homebrew and rbenv.
rake aborted!
Command failed with status (1): [gcc -o dist/libshoes.dylib shoes/app.o sho...]
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/file_utils.rb:53:in block in create_shell_runner' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/file_utils.rb:45:in
call'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/file_utils.rb:45:in sh' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in
sh'
/Users/danr/Desktop/shoes/Rakefile:436:in block (2 levels) in <top (required)>' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:205:in
call'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:205:in block in execute' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:200:in
each'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:200:in execute' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:158:in
block in invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/task.rb:144:in invoke' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:116:in
invoke_task'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:94:in block (2 levels) in top_level' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:94:in
each'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:94:in block in top_level' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:133:in
standard_exception_handling'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:88:in top_level' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:66:in
block in run'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:133:in standard_exception_handling' /Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/rake/application.rb:63:in
run'
/Users/danr/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/bin/rake:32:in <top (required)>' /Users/danr/.rbenv/versions/1.9.3-p125/bin/rake:19:in
load'
/Users/danr/.rbenv/versions/1.9.3-p125/bin/rake:19:in `
Interesting, I bet this is an rbenv thing. None of us use it, we're all rvm people.
This is line 436. Weird.
Well I'm not really married to rbenv I suppose.
Do you have any more detail on that top line in the stack? Maybe a rake --trace
?
Well I'm not really married to rbenv I suppose.
Naw, it'd be cool to support it; I'm just trying to figure out what's different with your env and mine.
There's a full trace here https://gist.github.com/2307339.
Much better! So the relevant part is from line 1948 to 1974. Essentially this is saying that you are compiling shoes for 64-bit, but you are linking against a ruby that was compiled for 32-bit. I have gotten these errors in two scenarios:
- You are working on a 32-bit machine
- You are working on a 64-bit machine, but you have compiled ruby for 32-bit
Might either of those situations describe yours?
I don't think so. I'm on a MacBook Pro with OS X 10.7 and the other machine I've had trouble with is a MacPro with 10.6. I'll have to look on the MacPro tomorrow to see if Ruby is 32-bit for some weird reason. I"ve already gotten rid of rbenv on the MacBook Pro and ruby -v outputs ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]. I havent tried building against that yet though.
In addition check the arch of ruby. Also check if your system was booted into 32 or 64-bit kernel mode. you may be wondering how to tell if your system was booted into 32 or 64-bit kernel mode?
Well,take a look at: About This Mac -> More Info -> Software and look for the "64-bit Kernel and Extensions" flag. see if there is a miss match
Now this is weird. The MacPro does NOT have the "64-bit Kernel and Extensions" flag set to true. HOWEVER, Shoes will build with an rvm installed Ruby. The fonts are screwed up, but it does build.
Hm. Could this be because of the way that rbenv shims ruby?
I'm afraid that's over my head.
Referring to this. Since we basically copy your Ruby over, the way rbenv manages Ruby might be causing problems.
Ah sure. I can see that now.
So, shoe can not worked with rbenv now ? After build on ubuntu, I've a likely problem that is "/usr/bin/ld: cannot find -lruby collect2: ld returned 1 exit status"
Probably. Nobody on team shoes uses .rbenv.