Perl / perl5

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

Test failure in Math::BigInteger from CPAN #6980

Closed p5pRT closed 19 years ago

p5pRT commented 20 years ago

Migrated from rt.perl.org#24648 (status was 'rejected')

Searchable as RT24648$

p5pRT commented 20 years ago

From dtucker@zip.com.au

This is a bug report for perl from dtucker@​zip.com.au\, generated with the help of perlbug 1.34 running under perl v5.8.0.


I tried building Math​::BigInteger 1.0 from CPAN on my Redhat 8 box (Perl 5.8.0) and found that "make test" failed with the following error​:

PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl Can't load 'blib/arch/auto/Math/BigInteger/BigInteger.so' for module Math​::BigInteger​: blib/arch/auto/Math/BigInteger/BigInteger.so​: undefined symbol​: Fputc at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229. at test.pl line 3 Compilation failed in require at test.pl line 3. BEGIN failed--compilation aborted at test.pl line 3. make​: *** [test_dynamic] Error 255

I was able to make it run by doing s/Fputs/fputc/ as per the attached patch\, the tests pass and it works for me. I don't know if there was a reason for the capitalization or not.

I tried emailing the address listed in the module's CPAN_USERID but it bounced.

Inline Patch ```diff diff -ru Math-BigInteger-1.0.orig/bn.c Math-BigInteger-1.0/bn.c --- Math-BigInteger-1.0.orig/bn.c 1996-05-06 01:30:55.000000000 +1000 +++ Math-BigInteger-1.0/bn.c 2003-12-13 02:02:09.000000000 +1100 @@ -304,8 +304,8 @@ int i,j,v,z=0; static char *hex="0123456789ABCDEF"; - if (a->neg) Fputc('-',fp); - if (a->top == 0) Fputc('0',fp); + if (a->neg) fputc('-',fp); + if (a->top == 0) fputc('0',fp); for (i=a->top-1; i >=0; i--) { for (j=BITS2-4; j >= 0; j-=4) @@ -314,7 +314,7 @@ v=(a->d[i]>>j)&0x0f; if (z || (v != 0)) { - Fputc(hex[v],fp); + fputc(hex[v],fp); z=1; } } ----------------------------------------------------------------- --- ```

Flags:   category=library   severity=low


Site configuration information for perl v5.8.0​:

Configured by bhcompile at Wed Aug 13 11​:45​:59 EDT 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration​:   Platform​:   osname=linux\, osvers=2.4.21-1.1931.2.382.entsmp\, archname=i386-linux-thread-multi   uname='linux stripples.devel.redhat.com 2.4.21-1.1931.2.382.entsmp #1 smp wed aug 6 17​:18​:52 edt 2003 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.2 20030222 (Red Hat Linux 3.2.2-5)'\, 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'

Locally applied patches​:   MAINT18379


@​INC for perl v5.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   .


Environment for perl v5.8.0​:   HOME=/home/dtucker   LANG=C   LANGUAGE (unset)   LD_LIBRARY_PATH (unset)   LOGDIR (unset)   PATH=/home/dtucker/bin​:/usr/local/bin​:/usr/kerberos/bin​:/usr/local/bin​:/usr/bin​:/bin​:/usr/sbin​:/sbin​:/opt/openssh/bin​:/usr/sbin​:/sbin​:/usr/X11R6/bin​:/usr/local/sbin​:/usr/local/avr/bin​:/usr/sbin​:/sbin​:/usr/X11R6/bin​:/usr/local/sbin​:/usr/local/avr/bin​:/usr/sbin​:/sbin​:/usr/palm/bin   PERL_BADLANG (unset)   SHELL=/bin/bash

p5pRT commented 19 years ago

From @smpeters

I just noticed that this ticket was about Math​::BigInteger and not Math​::BigInt. Math​::BigInteger was last modified in 1996. A lot has changed in Perl since then. But\, Math​::BigInteger is not a part of the Perl core and not supported through perlbug. I'd suggest moving to Math​::BigInt which should be included in your current Perl.

p5pRT commented 19 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 19 years ago

@smpeters - Status changed from 'open' to 'rejected'

p5pRT commented 19 years ago

From dtucker@zip.com.au

Steve Peters via RT wrote​:

I just noticed that this ticket was about Math​::BigInteger and not Math​::BigInt. Math​::BigInteger was last modified in 1996. A lot has changed in Perl since then. But\, Math​::BigInteger is not a part of the Perl core and not supported through perlbug. I'd suggest moving to Math​::BigInt which should be included in your current Perl.

OK\, fair enough. I did try all listed addresses for the author without success. Is there any mechanism for removing broken\, orphaned CPAN modules?

-- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69   Good judgement comes with experience. Unfortunately\, the experience usually comes from bad judgement.

p5pRT commented 19 years ago

From perl_dummy@bloodgate.com

-----BEGIN PGP SIGNED MESSAGE-----

Helo\,

Gary Howland seems to have been passed away in 2002​:

http​://world.std.com/~jlr/doom/howland.htm

(The third link on a google search for "gary howland systemics")

Is there a place were such old modules can be moved? Would it make sense to create a "unmaintained" list on CPAN?

Best Wishes\,

Tels

- -- Signed on Mon Oct 25 23​:28​:49 2004 with key 0x93B84C15. Visit my photo gallery at http​://bloodgate.com/photos/ PGP key on http​://bloodgate.com/tels.asc or per email.

"HOT PACKET ON SERVER ACTION! Click here for FREE ACCESS to streaming video of dirty packets penetrating badly-configured firewalls!!!" aanand (705284) on 2004-03-20 on /. about the Adult Bit and the Evil bit

-----BEGIN PGP SIGNATURE----- Version​: GnuPG v1.2.4 (GNU/Linux)

iQEVAwUBQX1xkncLPEOTuEwVAQGVIQf9HSbf7M0sF69AGq+f2vBy3J9+lHJjyxKy RburbgZL4iAr1NgecemddgkTxtgMPbFUchw/zmR5VPjGBR+Cklh7ihYEY6o/hbtB 3zUVJy5/VfD7MoI1Hp4xv7JiVRn+JH+c0pDcBAa0Ato9tQJXe7QiAcWRyObjzbkD Fe9/rZXP1vmuhgrDpY+t0fo0D5vEOzJMG+5D96Rqtt8QmxdXmdP9xge/IcupC04G 2RSEsyPBJV3I/cYUSbToLGHgnVGyi6lVOYg9O8NHARqgsv5r3GiRnS2NiqXszhiJ EW2BeU64XZVtCn/SZXxjvtcNyqxlCtesgHTMU8McdsBSVbu5ovUF/Q== =nldw -----END PGP SIGNATURE-----

p5pRT commented 19 years ago

From iang@systemics.com

I have that code in my internal CVS\, and the tests pass. If a maintainer can be found then I can pass my code across to that person; but I would not be able to do that work.

Having said that\, it's quite possible the code you have in CPAN has outstripped my copy\, which is probably unchanged since 1997-98.

Tels wrote​:

Gary Howland seems to have been passed away in 2002​:

This is correct.

iang