Subject: | Build problems on vanilla perl for RHEL 3 |
When I try to build Class::Std on a box running RHEL 3, I get the following :
[stbaldwin@audev02 Class-Std-0.0.4]$ make
cp lib/Class/Std.pm blib/lib/Class/Std.pm
Manifying blib/man3/Class::Std.3pm
[stbaldwin@audev02 Class-Std-0.0.4]$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00.load.........ok 1/1# Testing Class::Std v0.0.4
t/00.load.........ok
t/access..........ok
t/automethod......ok
t/coercions.......Use of uninitialized value in method lookup at (eval 13) line 3.
Can't locate object method "" via package "BaseClass" at (eval 13) line 3
# Looks like your test died before it could output anything.
t/coercions.......dubious
Test returned status 255 (wstat 65280, 0xff00)
t/cumulative......ok
t/dump............ok
t/pod-coverage....skipped
all skipped: Test::Pod::Coverage 1.04 required for testing POD coverage
t/pod.............skipped
all skipped: Test::Pod 1.14 required for testing POD
t/simple..........ok
Failed Test Stat Wstat Total Fail Failed List of Failed
--------------------------------------------------------------------------------------------------------------
t/coercions.t 255 65280 ?? ?? % ??
2 tests skipped.
Failed 1/9 test scripts, 88.89% okay. 0/152 subtests failed, 100.00% okay.
make: *** [test_dynamic] Error 29
perl -V reports ...
[stbaldwin@audev02 Class-Std-0.0.4]$ perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
Platform:
osname=linux, osvers=2.4.21-23.elsmp, archname=i386-linux-thread-multi
uname='linux bugs.build.redhat.com 2.4.21-23.elsmp #1 smp thu oct 28 20:10:03 edt 2004 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.0 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -g -pipe -march=i386 -mcpu=i686',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux 3.2.3-49)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Locally applied patches:
MAINT18379
Built under linux
Compiled at Feb 1 2005 09:37:17
%ENV:
PERL5LIB="/home/stbaldwin/perl-lib/lib/perl5/5.8.0:/home/stbaldwin/perl-lib/usr/lib/perl5/site_perl/5.8.0"
@INC:
/home/stbaldwin/perl-lib/lib/perl5/5.8.0/i386-linux-thread-multi
/home/stbaldwin/perl-lib/lib/perl5/5.8.0
/home/stbaldwin/perl-lib/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/home/stbaldwin/perl-lib/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
.
[stbaldwin@audev02 Class-Std-0.0.4]$ uname -a
Linux audev02.multiservice.com 2.4.21-32.0.1.ELsmp #1 SMP Tue May 17 17:52:23 EDT 2005 i686 i686 i386 GNU/Linux
I have taken the same build steps on a Cygwin (perl 5.8.6) platform and get no errors from 'make test'.
Is this likely to be related to the version of Perl on RHEL? If the coercion is the only chunk of functionality we loose (and 'make test' seems to indicate that), I can live with this for the time being, but I would just like some confirmation that that is the case. Again, if it is a Perl version thing, is there any chance for this to be 'fixed' in a future release of Class::Std? Our policy here is to (if at all possible) stick with the standard s/w components delivered by RH, and only build our own RPM's for modules not available under RHEL3.
Thanks for any help/suggestion/advice.
Steve