Error installing rjb while installing buildr

View: New views
4 Messages — Rating Filter:   Alert me  

Error installing rjb while installing buildr

by Antoine Toulme :: Rate this Message:

| View Threaded | Show Only this Message

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

--
http://www.lunar-ocean.com/blog

Re: Error installing rjb while installing buildr

by Ittay Dror-2 :: Rate this Message:

| View Threaded | Show Only this Message

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 <ittayd@...>
Tikal <http://www.tikalk.com>
Tikal Project <http://tikal.sourceforge.net>


Re: Error installing rjb while installing buildr

by Antoine Toulme :: Rate this Message:

| View Threaded | Show Only this Message

Hi Ittay, please see comments below:

On Thu, Dec 11, 2008 at 5:02 PM, Ittay Dror <ittayd@...> wrote:

> this is more a question on the RJB forum, not buildr.

I figured that later today and posted there.
http://rubyforge.org/forum/forum.php?thread_id=30307&forum_id=8190

>
>
>
> 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.
>
Sounds tricky indeed. For other unrelated reasons, the best workaround is to
use jruby, so I won't go further down this path.
Thanks for the answer!
Antoine
--
http://www.lunar-ocean.com/blog

Re: Error installing rjb while installing buildr

by Ittay Dror-2 :: Rate this Message:

| View Threaded | Show Only this Message

note that obviously, you can use jruby instead of ruby

Ittay Dror wrote:

> 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 <ittayd@...>
Tikal <http://www.tikalk.com>
Tikal Project <http://tikal.sourceforge.net>