Skip Menu |

This queue is for tickets about the Class-Std CPAN distribution.

Report information
The Basics
Id: 14371
Status: resolved
Priority: 0/
Queue: Class-Std

People
Owner: Nobody in particular
Requestors: stbaldwin [...] multiservice.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.0.4
Fixed in: (no value)



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
From: Steve Baldwin
[guest - Tue Aug 30 20:18:53 2005]: OK, I've been tinkering with this and have managed to get it working on the Perl delivered with RHEL3 (5.8.0). Here is a patch. [perldev]$ diff -u /usr/lib/perl5/site_perl/5.8/Class/Std.pm . --- /usr/lib/perl5/site_perl/5.8/Class/Std.pm 2005-08-07 14:19:22.000000000 +1000 +++ ./Std.pm 2005-08-31 15:40:37.977462400 +1000 @@ -133,7 +133,7 @@ my $STD_OVERLOADER = q{ package %%s; use overload ( - q{%s} => sub { $_[0]->$method($_[0]->ident()) }, + q{%s} => sub { $_[0]->%%s($_[0]->ident()) }, fallback => 1 ); }; @@ -351,7 +351,7 @@ my ($referent, $attr) = @$operation; local $^W; my $method = _find_sub($package, $referent); - eval sprintf $OVERLOADER_FOR{$attr}, ($package)x2; + eval sprintf $OVERLOADER_FOR{$attr}, $package, $method; die "Internal error: $@" if $@; } delete $overload{$package}; It may be crude and/or agricultural, but seems to work on both Perl 5.8.0 and 5.8.6. I haven't tested any other releases. Hope this helps. Steve
Date: Wed, 31 Aug 2005 22:38:18 +1000
From: Damian Conway <damian [...] conway.org>
To: bug-Class-Std [...] rt.cpan.org
Subject: Re: [cpan #14371] Build problems on vanilla perl for RHEL 3
RT-Send-Cc:
Show quoted text
> OK, I've been tinkering with this and have managed to get it working on > the Perl delivered with RHEL3 (5.8.0). Here is a patch. > > It may be crude and/or agricultural, but seems to work on both Perl > 5.8.0 and 5.8.6. I haven't tested any other releases. Hope this helps.
Applied. Thanks, Steve. Damian