Subject: | GD v2.35 won't build on RHEL 4 x86_64 |
Hello,
I cannot get GD to build on RHEL 4. I apologize because I am sure you
get this all the time. Can anyone help or have any advice as what to
do? It seems from the changelog that GD supports x86_64
architecture. I have read the README and I have the requirements (via
RPM packages):
perl 5.8.5
libgd 2.0.28
libpng 1.2.7
zlib 1.2.1.2
freetype 2.1.9
libjpeg 6b
x11 6.8.2 (which has xpm)
I checked with the Red Hat website that the gd rpm and library was
built with all of these:
gd RPM built with:
/sbin/ldconfig
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libfreetype.so.6()(64bit) <-- freetype
libjpeg.so.62()(64bit) <-- jpeg
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libpng12.so.0()(64bit) <-- png
libX11.so.6()(64bit)
libXpm.so.4()(64bit) <-- xpm
libz.so.1()(64bit) <-- zlib
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Here is the output of the make:
[root@dla2 GD-2.35]# perl Makefile.PL
NOTICE: This module requires libgd 2.0.28 or higher.
If you are using Math::Trig 1.01 or lower, it has a bug that
causes a "prerequisite not found" warning to be issued. You
may
safely ignore this warning.
Type perl Makefile.PL -h for command-line option summary
Where is libgd installed? [/usr/lib]
Please choose the features that match how libgd was built:
Build JPEG support? [y]
Build PNG support? [y]
Build FreeType support? [y]
Build GIF support? [y]
Build support for animated GIFs? [y]
Build XPM support? [y]
If you experience compile problems, please check the @INC, @LIBPATH
and @LIBS
arrays defined in Makefile.PL and manually adjust, if necessary.
Checking if your kit is complete...
Looks good
Writing Makefile for GD
[root@dla2 GD-2.35]# make
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" GD/Image.pm.PLS GD/Image.pm
Extracting Image.pm (with variable substitutions)
cp GD/Polyline.pm blib/lib/GD/Polyline.pm
cp qd.pl blib/lib/qd.pl
cp GD/Image.pm blib/lib/GD/Image.pm
cp GD.pm blib/lib/GD.pm
AutoSplitting blib/lib/GD.pm (blib/lib/auto/GD)
cp GD/Simple.pm blib/lib/GD/Simple.pm
cp GD/Polygon.pm blib/lib/GD/Polygon.pm
/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -
typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap -typemap typemap GD.xs
Show quoted text
> GD.xsc && mv GD.xsc GD.c
gcc -c -I/usr/include -I/usr/include/gd -D_REENTRANT -D_GNU_SOURCE -
DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -
D_LARGEFILE_SOURCE -D_FILE_OFFSET
_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"2.35\" -
DXS_VERSION=\"2.35\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-
thread-multi/CORE" -DHAVE_
JPEG -DHAVE_FT -DHAVE_XPM -DHAVE_GIF -DHAVE_PNG -DHAVE_ANIMGIF GD.c
GD.xs: In function `XS_GD__Image_STORABLE_thaw':
GD.xs:923: warning: cast from pointer to integer of different size
GD.xs: In function `XS_GD__Image_gifanimbegin':
GD.xs:990: warning: cast to pointer from integer of different size
GD.xs: In function `XS_GD__Image_gifanimadd':
GD.xs:1015: warning: cast to pointer from integer of different size
GD.xs: In function `XS_GD__Image_gifanimend':
GD.xs:1034: warning: cast to pointer from integer of different size
Running Mkbootstrap for GD ()
chmod 644 GD.bs
rm -f blib/arch/auto/GD/GD.so
gcc -shared GD.o -o blib/arch/auto/GD/GD.so -L/usr/lib/X11 -
L/usr/X11R6/lib -L/usr/lib -L/usr/lib/X11 -L/usr/X11R6/lib64 -
L/usr/lib64 -lgd -lfreetype -ljpeg -
lpng -lz -lm -lX11 -lXpm
/usr/bin/ld: /usr/lib64/libgd.a(gd.o): relocation R_X86_64_32S against
`a local symbol' can not be used when making a shared object;
recompile with -fPIC
/usr/lib64/libgd.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/GD/GD.so] Error 1
[root@dla2 GD-2.35]#