Subject: | make test fails on RH 7.2 with Perl 5.8.0 with gd-2.0.28 and GD Perl 2.16 |
On RedHat 7.2, the make test for the perl GD failed for me (See [FAILS]).
Turns out I had an old libgd in /usr/lib and the Makefile for all GD Perl's prior to 2.0.15 would use /usr/local/lib first. In 2.15, the LD_RUN_PATH changed in the Makefile to put /usr/lib first which caused linking issues.
I thought I would report this because this sounded similar to some other bugs I've seen reported with RedHat and it might help someone else.
[FAILS]
NOTICE: This module requires libgd 2.0.12 or higher.
it will NOT work with earlier versions.
See www.cpan.org for versions of GD that are compatible
with earlier versions of libgd.
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
Configuring for libgd version 2.0.28.
Included Features: GD_XPM GD_JPEG GD_FREETYPE GD_PNG GD_GIF
GD library used from: /usr/local
If you experience compile problems, please check the @INC, @LIBPATH and @LIBS
arrays defined in Makefile.PL and manually adjust, if necessary.
Warning: prerequisite Math::Trig 0 not found.
Writing Makefile for GD
[root@intel1 GD-2.16]# make
cc -c -I/usr/local/include -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -DVERSION=\"2.16\" -DXS_VERSION=\"2.16\" -fpic "-I/usr/local/lib/perl5/5.8.0/i686-linux/CORE" -DHAVE_JPEG -DHAVE_FT -DHAVE_XPM -DHAVE_GIF GD.c
make testRunning Mkbootstrap for GD ()
chmod 644 GD.bs
rm -f blib/arch/auto/GD/GD.so
LD_RUN_PATH="/usr/X11R6/lib:/usr/lib:/usr/local/lib:/lib" cc -shared -L/usr/local/lib GD.o -o blib/arch/auto/GD/GD.so -L/usr/local/lib -L/usr/X11R6/lib -L/usr/local/lib -lXpm -lX11 -ljpeg -lfreetype -lpng -lz -lm -lgd
chmod 755 blib/arch/auto/GD/GD.so
cp GD.bs blib/arch/auto/GD/GD.bs
chmod 644 blib/arch/auto/GD/GD.bs
Manifying blib/man3/GD::Polyline.3
Manifying blib/man3/GD.3
[root@intel1 GD-2.16]# make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/GD..........Can't load './blib/arch/auto/GD/GD.so' for module GD: u@u@ ¾ ¾u@u@ u@ u@¨u@¨u@°u@°u@¸u@¸u@Àu@Àu@Èu@Èu@Ðu@Ðu@Øu@Øu@àu@àu@èu@èu@ðu@ðu@øu@øu@: shared object not open at /usr/local/lib/perl5/5.8.0/i686-linux/DynaLoader.pm line 229.
at t/GD.t line 13
Compilation failed in require at t/GD.t line 13.
BEGIN failed--compilation aborted at t/GD.t line 13.
t/GD..........dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-10
Failed 10/10 tests, 0.00% okay
t/Polyline....Can't load '/usr/src/GD-2.16/blib/arch/auto/GD/GD.so' for module GD: u@u@øºøºu@u@ u@ u@¨u@¨u@°u@°u@¸u@¸u@Àu@Àu@Èu@Èu@(S(SØu@Øu@àu@àu@èu@èu@ðu@ðu@øu@øu@: shared object not open at /usr/local/lib/perl5/5.8.0/i686-linux/DynaLoader.pm line 229.
at /usr/src/GD-2.16/blib/lib/GD/Polyline.pm line 49
Compilation failed in require at /usr/src/GD-2.16/blib/lib/GD/Polyline.pm line 49.
BEGIN failed--compilation aborted at /usr/src/GD-2.16/blib/lib/GD/Polyline.pm line 49.
Compilation failed in require at t/Polyline.t line 10.
BEGIN failed--compilation aborted at t/Polyline.t line 10.
t/Polyline....dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/GD.t 255 65280 10 10 100.00% 1-10
t/Polyline.t 255 65280 1 1 100.00% 1
Failed 2/2 test scripts, 0.00% okay. 11/11 subtests failed, 0.00% okay.
make: *** [test_dynamic] Error 2
If I modify LD_RUN_PATH in the Makefile to /usr/local/lib:/usr/lib:/lib:/usr/X11R6/lib