Blog

Thursday, April 09, 2009
"gem update" and native gibblies

I tried running gem update on my new Joyent "shared accelerator" (translation: hosting service)

This is what happened:
[marin:~] jdtangney$ gem update
Updating installed gems
Updating eventmachine
WARNING:  Installing to ~/.gem since /usr/local/lib/ruby/gems/1.8 and
/usr/local/bin aren't both writable.
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.

The nice part is that it automatically noticed that it needed to do a local install. But that cryptic error message — wtf?

Looking down a little further in the spew, I saw
shared -o rubyeventmachine.so epoll.o emwin.o ssl.o ed.o sigs.o cplusplus.o em.o pipe.o rubymain.o files.o binder.o kb.o cmain.o page.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L. -L/usr/lib -Wl,-R/usr/lib -L/usr/local/lib -Wl,-R/usr/local/lib -Wl,-R/usr/local/lib -L/usr/local/lib  -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby18 -lsocket -lnsl  -lssl -lcrypto -lsocket -lnsl -ldl   -lpthread -ldl -lcrypt -lm -lm -lpthread -lrt -ldb4  -lc
sh: shared: not found
So some googling later... I just executed this before running gem update:
export CXX=g++

It now gets a lot further... Next run ran out of memory?! The one after that segfaulted! (No, really!) The third run ran to a successful completion. Sheesh.

RubyGems seems to be in the same state of fragility that fink was in several years ago. There are just too many exceptions and funky, weird configurations one has to do to get it to work.

I had hoped that by being a late adopter, I would miss out on all this chaos. I guess not.

Labels:

Post a Comment

Comments:

Really helpful, shared accelerators need some writeup vs accelerators.

 # posted by Blogger per: 2:18 PM PDT

AddThis Feed Button

Twitter Updates

    follow me on Twitter

    Archives