| Mark Ventimiglia 2007-09-21, 7:59 am |
| I am trying to run a customized version of the GD graphics library from=0Aa=
Perl script on my web page, which is hosted by another company. To do=0Ath=
is, I downloaded GD, the libraries on which it depends, and the Perl=0AGD i=
nterface module to my FC6 machine. I then made the edits I need and=0Abuilt=
and installed everything. Everything works on my machine, as=0Averified by=
a test script that I wrote.=0A=0A=0A=0AI then grabbed the entire blib dire=
ctory that I built and moved it to=0Amy web server. It fails with the follo=
wing (I have CGI::Carp=0Aqw(fatalsToBrowser) turned on so that it displays =
to the web page):=0A=0A=0A=0A=0A=0ASoftware error:=0A=0A=0A=0ACan't load '/=
home/markve65/public_html/cgi-bin/blib/arch/auto/GD/GD.so'=0Afor module GD:=
/lib/tls/libc.so.6: version `GLIBC_2.4' not found=0A(required by=0A/home/m=
ventimi/public_html/cgi-bin/blib/arch/auto/GD/GD.so) at=0A/usr/lib/perl5/5.=
8.8/i686-linux/DynaLoader.pm line 230.=0A=0A at testGD.pl line 12=0A=0AComp=
ilation failed in require at testGD.pl line 12.=0A=0ABEGIN failed--compilat=
ion aborted at testGD.pl line 12.=0A=0A=0A=0A=0A=0AThe Perl script dies at =
line 12, which is the "use GD;" line. If I comment this out, the script run=
s fine.=0A=0A=0A=0AMy first guess was that I built the library on a machine=
with a newer=0Aversion of libc than what was on my web server machine. I c=
hecked my=0Aweb server and it's running RHL9, so I grabbed a copy of RHL9,=
=0Ainstalled it on a free machine, and rebuilt as above. When I did that,=
=0Ahowever, the script died with a 500 error, and I get a "Premature end=0A=
of script headers" in the error log.=0A=0A=0A=0AThe obvious answer would be=
to build this library on the web server=0Amachine, but I don't have access=
to do that. I need to build the=0Alibrary on a different machine and copy =
it over there. Can anyone give=0Ame any hints as to how I can do that? From=
what I've been able to dig=0Aup so far, I'm having a problem because glibc=
uses symbol versioning=0Aand I'm building my library on a machine with a n=
ewer glibc. The=0Alibrary then expects these newer versions of symbols on t=
he machine=0Awith the older glibc. Is there any way to force the linker to =
use the=0Aolder versions of symbols in glibc? Or am I completely off base h=
ere?=0A=0A=0A=0A =0A_____________________________________
____________=
___________________________________=0AMo
ody friends. Drama queens. Your lif=
e? Nope! - their life, your story. Play Sims Stories at Yahoo! Games.=0Ahtt=
p://sims.yahoo.com/
|