this is more a question on the RJB forum, not buildr.
anyways, the way RJB is built is that the file ext/load.c has precompiler conditions based on predefined variables that define ARCH and JVM_TYPE, based on that, RJB knows where to load libjvm.so from.
this is not a very good solution (look in the rjb forum for a post i made there detailing why), you have two options:
1. modify ext/load.c to include another #elsif for PPC, then create a gem and install it
2. i can send you a modified version of rjb that i have that uses an environment variable JVM_LIB to tell it where to load the library from. this means that you'll have to export it before running buildr
please note that in even if it finds the library, it doesn't mean it will be able to load it (i wasn't able to load it on hpux 11.11). it's a tricky business.
ittay Antoine Toulme wrote:
Hi everybody, I hit an error while trying to install buildr on a Linux machine. The setup of the machine is a bit particular. I have no sudo rights. I installed ruby and rubygems from source, and tied them to the path. uname -a returns: Linux build 2.6.16.60-0.27-ppc64 #1 SMP Mon Jul 28 12:44:10 UTC 2008 ppc64 ppc64 ppc64 GNU/Linux The JVM installed on this machine are IBM JVMs. I have the nested error presented below while trying to install buildr, which in turn tries to install rjb. If you are into Eclipse, you can visit https://bugs.eclipse.org/bugs/show_bug.cgi?id=258404 for more information. $>env JAVA_HOME=$JAVA_HOME gem install buildr Building native extensions. This could take a while... ERROR: Error installing buildr: ERROR: Failed to build gem native extension. /shared/common/ruby-1.8.7/bin/ruby extconf.rb install buildr checking for jni.h... yes checking for dl.h... yes checking for locale_charset() in iconv.h... no checking for nl_langinfo() in langinfo.h... yes checking for setlocale() in locale.h... yes checking for getenv()... yes creating extconf.h creating Makefile make gcc -I. -I. -I/shared/common/ruby-1.8.7/lib/ruby/1.8/powerpc64-linux -I. -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -c rjb.c rjb.c: In function 'r2barray': rjb.c:849: warning: passing argument 5 of '(*jenv)->SetByteArrayRegion' discards qualifiers from pointer target type gcc -I. -I. -I/shared/common/ruby-1.8.7/lib/ruby/1.8/powerpc64-linux -I. -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -c rjbexception.c gcc -I. -I. -I/shared/common/ruby-1.8.7/lib/ruby/1.8/powerpc64-linux -I. -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -c riconv.c gcc -I. -I. -I/shared/common/ruby-1.8.7/lib/ruby/1.8/powerpc64-linux -I. -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -I/shared/stp/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/include -c load.c load.c:70:30: error: sys/systeminfo.h: No such file or directory load.c: In function 'load_jvm': load.c:144: error: 'ARCH' undeclared (first use in this function) load.c:144: error: (Each undeclared identifier is reported only once load.c:144: error: for each function it appears in.) make: *** [load.o] Error 1 Gem files will remain installed in /shared/common/ruby-1.8.7/lib/ruby/gems/1.8/gems/rjb-1.1.6 for inspection. Results logged to /opt/public/common/ruby-1.8.7/lib/ruby/gems/1.8/gems/rjb-1.1.6/ext/gem_make.out Does this ring a bell for anyone ? Thanks, Antoine
-- Ittay Dror <[EMAIL PROTECTED]> Tikal <http://www.tikalk.com> Tikal Project <http://tikal.sourceforge.net>
