Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
2.07k stars 574 forks source link

Problems building some XS modules under 5.6.0 #1501

Closed p5pRT closed 21 years ago

p5pRT commented 25 years ago

Migrated from rt.perl.org#2715 (status was 'resolved')

Searchable as RT2715$

p5pRT commented 25 years ago

From @rjray

While 5.6.0 builds and tests fine on every platform I've tried\, last night I did start to have problems with some CPAN modules. So far\, these are the only two that have consistently failed​:

PDL 2.004​:

{ tremere​:744 } make make[1]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic' make[2]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Pod' make[2]​: Leaving directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Pod' make[2]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Gen' make[2]​: Leaving directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Gen' make[2]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Core' cc -c -D_REENTRANT -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"2.004\" -DXS_VERSION=\"2.004\" -fpic -I/usr/lib/perl5/5.6.0/i586-linux-thread/CORE -DPDL_PTHREAD pdlcore.c pdlcore.c​:501​: macro `die_where' used with just one arg make[2]​: *** [pdlcore.o] Error 1 make[2]​: Leaving directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Core' make[1]​: *** [subdirs] Error 2 make[1]​: Leaving directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic' make​: *** [subdirs] Error 2

HTML​::Parser 3.05 fared much worse; after build fine\, make test yields​:

PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.6.0/i586-linux-thread -I/usr/lib/perl5/5.6.0 -e 'use Test​::Harness qw(&runtests $verbose); $verbose=0; runtests @​ARGV;' t/*.t t/api_version.......dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/argspec-bad.......Use of uninitialized value. t/argspec-bad.......dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/argspec...........Use of uninitialized value during global destruction. t/argspec...........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/cases.............dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/comment...........Use of uninitialized value. t/comment...........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/crashme...........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/default...........Use of uninitialized value. t/default...........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/dtext.............Use of uninitialized value. t/dtext.............dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/entities..........ok t/filter............dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/handler-eof.......Use of uninitialized value during global destruction. t/handler-eof.......dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/handler...........Use of uninitialized value during global destruction. t/handler...........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/headparser-http...skipped test on this platform t/headparser........ok 1/3Use of uninitialized value in (null) at t/headparser.t line 107. t/headparser........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core DIED. FAILED tests 2-3   Failed 2/3 tests\, 33.33% okay t/ignore............Use of uninitialized value. t/ignore............dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/largetags.........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/linkextor-base....Use of uninitialized value during global destruction. t/linkextor-base....dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/linkextor-rel.....dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/magic.............Use of uninitialized value during global destruction. t/magic.............dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/marked-sect.......Use of uninitialized value. t/marked-sect.......dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/offset............Use of uninitialized value. t/offset............dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/options...........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/parsefile.........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/parser............dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/process...........Use of uninitialized value. t/process...........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/tokeparser........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/unbroken-text.....dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core t/xml-mode..........dubious
  Test returned status 0 (wstat 139\, 0x8b)   test program seems to have generated a core Failed Test Status Wstat Total Fail Failed List of failed


t/api_version.t 0 139 ?? ?? % ?? t/argspec-bad.t 0 139 ?? ?? % ?? t/argspec.t 0 139 ?? ?? % ?? t/cases.t 0 139 ?? ?? % ?? t/comment.t 0 139 ?? ?? % ?? t/crashme.t 0 139 ?? ?? % ?? t/default.t 0 139 ?? ?? % ?? t/dtext.t 0 139 ?? ?? % ?? t/filter.t 0 139 ?? ?? % ?? t/handler-eof.t 0 139 ?? ?? % ?? t/handler.t 0 139 ?? ?? % ?? t/headparser.t 0 139 3 2 66.67% 2-3 t/ignore.t 0 139 ?? ?? % ?? t/largetags.t 0 139 ?? ?? % ?? t/linkextor-bas 0 139 ?? ?? % ?? t/linkextor-rel 0 139 ?? ?? % ?? t/magic.t 0 139 ?? ?? % ?? t/marked-sect.t 0 139 ?? ?? % ?? t/offset.t 0 139 ?? ?? % ?? t/options.t 0 139 ?? ?? % ?? t/parsefile.t 0 139 ?? ?? % ?? t/parser.t 0 139 ?? ?? % ?? t/process.t 0 139 ?? ?? % ?? t/tokeparser.t 0 139 ?? ?? % ?? t/unbroken-text 0 139 ?? ?? % ?? t/xml-mode.t 0 139 ?? ?? % ?? 1 test skipped. Failed 26/28 test scripts\, 7.14% okay. 2/11 subtests failed\, 81.82% okay. make​: *** [test_dynamic] Error 2

This was on a different machine than the build-success reports I sent in\, the perl -V output from this box is​:

{ tremere​:745 } perl -V Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration​:   Platform​:   osname=linux\, osvers=2.2.13\, archname=i586-linux-thread   uname='linux tremere 2.2.13 #6 sun feb 6 17​:30​:33 pst 2000 i586 unknown '   config_args='-Dprefix=/usr -Dusethreads -Duse5005threads -des'   hint=recommended\, useposix=true\, d_sigaction=define   usethreads=define use5005threads=define useithreads=undef usemultiplicity=undef   useperlio=undef d_sfio=undef uselargefiles=define   use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef   Compiler​:   cc='cc'\, optimize='-O2'\, gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)   cppflags='-D_REENTRANT -fno-strict-aliasing -I/usr/local/include'   ccflags ='-D_REENTRANT -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'   stdchar='char'\, d_stdstdio=define\, usevfork=false   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8   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\, usemymalloc=n\, prototype=define   Linker and Libraries​:   ld='cc'\, ldflags =' -L/usr/local/lib'   libpth=/usr/local/lib /lib /usr/lib   libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lpthread -lc -lposix -lcrypt   libc=/lib/libc-2.1.1.so\, so=so\, useshrplib=false\, libperl=libperl.a   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags='-rdynamic'   cccdlflags='-fpic'\, lddlflags='-shared -L/usr/local/lib'

Characteristics of this binary (from libperl)​:   Compile-time options​: USE_THREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT   Built under linux   Compiled at Mar 25 2000 01​:12​:12   @​INC​:   /usr/lib/perl5/5.6.0/i586-linux-thread   /usr/lib/perl5/5.6.0   /usr/lib/perl5/site_perl/5.6.0/i586-linux-thread   /usr/lib/perl5/site_perl/5.6.0   /usr/lib/perl5/site_perl   .

-- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Randy J. Ray | "NSA doesn't need a key to compromise security in rjray@​redhat.com | Windows. Programs like Back Orifice can do it without 415-777-9810 x246 | any keys." --Bruce Schneier on the MS/NSA controversy

p5pRT commented 25 years ago

From @gsar

On Sat\, 25 Mar 2000 15​:04​:24 PST\, Randy J Ray wrote​:

While 5.6.0 builds and tests fine on every platform I've tried\, last night I did start to have problems with some CPAN modules. So far\, these are the only two that have consistently failed​:

PDL 2.004​:

{ tremere​:744 } make make[1]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic' make[2]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Pod' make[2]​: Leaving directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Pod' make[2]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Gen' make[2]​: Leaving directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Gen' make[2]​: Entering directory `/usr/local/src/Perl-Modules/PDL-2.004/Basic/Core' cc -c -D_REENTRANT -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FIL E_OFFSET_BITS=64 -O2 -DVERSION=\"2.004\" -DXS_VERSION=\"2.004\" -fpic -I/usr/lib/per l5/5.6.0/i586-linux-thread/CORE -DPDL_PTHREAD pdlcore.c pdlcore.c​:501​: macro `die_where' used with just one arg

Whoa. die_where() is not part of the API. I can't imagine why PDL needs to use it\, but whatever it is\, PDL should be changed to use the documented bits of the API.

HTML​::Parser 3.05 fared much worse; after build fine\, make test yields​:

I think Gisle posted a simple patch against HTML​::Parser for this.

Sarathy gsar@​ActiveState.com