I've tried building shoes on my laptop (32-bit) and desktop (64-bit) using https://aur.archlinux.org/packages.php?ID=16598 of which I am the maintainer, and in both cases running shoes in the terminal now simply results in the string:
can't convert nil into String
Being printed. Adding extra arguments to the call to shoes makes no difference. I'm not familiar enough with the shoes codebase to effectively debug this either, I tried adding a raise statement to the start of lib/shoes.rb but it didn't get that far.
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
Linux Aria 3.0-ARCH #1 SMP PREEMPT Tue Aug 16 08:44:20 CEST 2011 x86_64 Intel(R) Core(TM)2 Extreme CPU Q6850 @ 3.00GHz GenuineIntel GNU/Linux
Installed gems: https://gist.github.com/2c77ea70f3486c3d9a67
If there's any further pertinent information I can provide, just let me know. Cheers
Well, this is baaaaad. @ccoupe, any thoughts?
My arch box is out of commission at the moment.
Is there any trace? Or just that line?
Just the line, unfortunately..
I don't know which git source is being built -- shoe/shoes or shoes/develop? Someone else on the mailing list has the same error message in Ubuntu (unspecified Ubuntu version and unspecified Shoes source). Forget about the installed gems/bundler, Shoes has its own gem handler and won't use you system or user gems. Is RVM involved and is rvm set up per user or system wide?
No RVM on either of my computers. I think it's the 'develop' branch being built as that's the default when you pull it.
Oh my tzar, you live on the cutting edge, no? I have yet to see a Ruby built properly by any Linux distribution for Shoe's purposes since the stone age Ruby 1.8.7. The default Ruby autoconf just doesn't build a Ruby that Shoes can use (nor will manually building Ruby 1.9.x from source and defaults work)
However, rvm will build a Ruby that Shoes can use. The Shoes develop branch folks have made all kinds of rake file 'improvements' for OSX variations that haven't been tested on Linux or Windows so you could have multiple problems to debug. First, install rvm Ruby 1.9.1 (not 1.9.2). rake clean in the shoes directory and then rake. If that works, let us know and then you can try ruby 1.9.2 or 1.9.3rc or whatever bleeding edge you care to support.
Hmm is that so? It worked with the distribution ruby as of August 19th 2011 (last time I built it), so something must have changed between then and now.. Perhaps Arch has changed the way it builds ruby or something. I'm not sure if I'll set up RVM any time soon to be honest (I'm quite happy with my current setup), so might not be able to help further with this issue.
http://projects.archlinux.org/svntogit/packages.git/log/trunk?h=packages/ruby doesn't look like the ruby package has changed since August anyway
I'm just trying to help, tzar. You're the self appointed Maintainer of Shoes on Arch Linux, and if you don't want to debug things in Arch Linux just say so. Something has changed in Arch, Ruby or Shoes. You're the maintainer so help us debug it. Or ask for Devyn's help on the mailing list, he's a big fan of Arch Linux.
replicated the issue on ubuntu 11.04, the issue seems to be the symbolic links.
rm -f libruby.so.1.9
ln -s libruby.so libruby.so.1.9
This seems to be depricated on 11.04 , libruby looks like this - ibruby-1.9.1.so.1.9
Sweet! I do love solutions! It fits with "Eelco ten Have" problems (and his solution - just install the .run). I remember touching that shell script that runs after the download and install. I just made it work for 1.9.1 for why day and the Shoes 3 + Ruby 1.9.1. It was a hack before I got there, and it's still a hack until someone fixes minitar to handle symbolic links - a tar baby I choose to not touch, Mea Culpa.
@ccoupe, my apologies if I've come across as arrogant or abrasive in any way - I was just trying to state that I do not wish to redo my development environment for shoes (which I use in my day-to-day work etc). I do not currently use shoes in any projects and only took over as maintainer to fix the build script when I was tinkering with it many months ago so that others could benefit. Shoes worked then on the stock ruby with no problems, and it'd be nice to fix the script so it works now with no problems, and preferably without needing a patched ruby (which is rather against the "arch way"). I am quite happy to give the role of package maintainer to anyone who actually uses shoes and uses arch linux who has more of a vested interest in the project than I do. I reported this bug as I was requested to by steveklabnik, not because I wanted it to be fixed for me because I live on the bleeding edge (it makes little to no difference to me at this point in time). It just happens that that is how arch (and I) have things set up. Anyway, sorry if I rubbed you the wrong way, it was not my intent.. Hopefully I can tinker with it a bit tomorrow if it is indeed just a problem with the symlinks and get it working. Thanks
@tzar, No problem. I won't screw up my production environment either (he says while upgrading to Ubuntu 11.04 and was not a happy camper at the time I was 'helping' you). FWIW, rvm can be set up to only apply to the logged in non su user - thats how mine is set up. You could Add a new user account and experiment with rvm in there. Since Shoes is not a system wide installed app, it makes some sense that it's ruby is not tied to the 'system-wide' Ruby. Just my 2 cents.
@steve, I've filed a bug report on the Ubuntu 11.04 build problem with solution hints. For your CI tests could you add a "shoes --help' or "shoes -g list local" execution step. That would test that the libraries in dist/ mostly work.
@ccoupe ah, that's a good idea! shoes --help it is.
...except that won't close itself, right? That's the big issue. Though I guess it would start up and not block the shell, huh?
on linux, shoes -h exits
I can reproduce this on my machine as well.
catsquotl on IRC has determined that 846071a introduced the bug.
@wasnotrice just pushed a commit, but it doesn't seem like it fixes it here.
This should be fixed by 1475d31.
Works perfectly, thanks :-)