From: Costas Piliotis Date: 2007-05-26T08:32:43+09:00 Subject: Re: Error compiling ruby from source This is a multi-part message in MIME format. ------_=_NextPart_001_01C79F24.FC593CF3 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Sorry to be a pest - if this is an incorrect forum to be posting this in I'm terribly sorry... Please point me in the right direction. =20 =20 Anyway, I've dug a little bit more, and it seems to happen when I make the bigdecimal part. =20 The compand that seems to trip up building Ruby is: gcc -shared -rdynamic -Wl,-export-dynamic -L'../..' -o ../../.ext/x86_64-liux/bigdecimal.so bigdecimal.o -lcrypt -lm -lc =20 And the error I get is: /usr/bin/ld: /opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libm .a(k_standard.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libm .a: could not read symbols: Bad value collect2: ld returned 1 exit status =20 =20 Do you guys think I should file a bug report? =20 ________________________________ From: Costas Piliotis [mailto:cpiliotis@riptown.com]=20 Sent: Friday, May 25, 2007 10:46 AM To: ruby-core@ruby-lang.org Subject: Error compiling ruby from source Hi folks. I've been getting an error message when compiling ruby from source, and I'm sure it's just a missing package. =20 I have two x86_64 RHEL 4 boxes, and one of them I'm having a helluva time trying to install Ruby. I can get 1.8.6 to build on one RHEL 4 box and not the other. =20 It seems to trip on bigdecimal.c : gcc -shared -rdynamic -Wl,-export-dynamic -L'../..' -o ../../.ext/x86_64-linux/bigdecimal.so bigdecimal.o -lcrypt -lm -lc /usr/bin/ld: /opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libm .a(k_standard.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libm .a: could not read symbols: Bad value =20 =20 When I run the configure script on both boxes, the only major difference I get on the new box is: =20 checking for dlopen in -ldl... no checking for dlopen... no =20 On the old box it gets yes for both... =20 The new box has newer versions of gcc and glibc and all that, plus a newer kernel Anyone got any thoughts on where to look? =20 ------_=_NextPart_001_01C79F24.FC593CF3 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Sorry to be a pest - if this is an incorrect = forum to be=20 posting this in I'm terribly sorry...  Please point me in the right = direction. 
 
Anyway, I've dug a little bit more, and it = seems to happen=20 when I make the bigdecimal part.
 
The compand that seems to trip up building Ruby = is:
gcc -shared -rdynamic = -Wl,-export-dynamic  =20 -L'../..' -o ../../.ext/x86_64-liux/bigdecimal.so bigdecimal.o  = -lcrypt=20 -lm   -lc
 
And the error I get is:
/usr/bin/ld:=20 /opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libm.= a(k_standard.o):=20 relocation R_X86_64_32S against `a local symbol' can not be used when = making a=20 shared object; recompile with=20 -fPIC
/opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../li= b64/libm.a:=20 could not read symbols: Bad value
collect2: ld returned 1 exit=20 status
 
 
Do you guys think I should file a bug=20 report?
 


From: Costas Piliotis=20 [mailto:cpiliotis@riptown.com]
Sent: Friday, May 25, 2007 = 10:46=20 AM
To: ruby-core@ruby-lang.org
Subject: Error = compiling ruby=20 from source

Hi = folks.  I've=20 been getting an error message when compiling ruby from source, and I'm = sure it's=20 just a missing package.
 
I have = two x86_64=20 RHEL 4 boxes, and one of them I'm having a helluva time trying to = install=20 Ruby.   I can get 1.8.6 to build on one RHEL 4 box and not the = other.
 
It = seems to trip on=20 bigdecimal.c :

gcc -shared -rdynamic=20 -Wl,-export-dynamic   -L'../..' -o=20 ../../.ext/x86_64-linux/bigdecimal.so bigdecimal.o  -lcrypt = -lm  =20 -lc
/usr/bin/ld:=20 /opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/libm.= a(k_standard.o):=20 relocation R_X86_64_32S against `a local symbol' can not be used when = making a=20 shared object; recompile with=20 -fPIC
/opt/usr/bin/../lib/gcc/x86_64-redhat-linux/3.4.6/../../../../li= b64/libm.a:=20 could not read symbols: Bad value
 
 
When I = run the=20 configure script on both boxes, the only major difference I get on the = new box=20 is:
 
checking for dlopen=20 in -ldl... no
checking for=20 dlopen... no
 
On the = old box it=20 gets yes for both...
 
The = new box has=20 newer versions of gcc and glibc and all that, plus a newer = kernel  =20 Anyone got any thoughts on where to look?  =20
------_=_NextPart_001_01C79F24.FC593CF3--