Perl / perl5

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

PathTools fails "make install" under 5.6.1 #7735

Closed p5pRT closed 11 years ago

p5pRT commented 19 years ago

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

Searchable as RT33688$

p5pRT commented 19 years ago

From ajs@itasoftware.com

Created by ajs@itasoftware.com

This is a report of two\, interdependent bugs​: 1) ExtUtils​::MakeMaker generates a Makefile that will fail when installing an XS version of a module which is used during the installation 2) PathTools in the current CPAN (3.01 and 3.01_03) runs into this very problem. Specifics follow.

OS​: RH7.3 Perl​: 5.6.1 (Red Hat RPM perl-5.6.1-36.1.73) uname​: 2.4.26-4 i686 unknown

PathTools has been added to the dependency chain for "cpan Bundle​::CPAN"\, which would be fine except for the fact that it fails when executing "make install" under 5.6.1 due to what appears to be an obscure bug in ExtUtils​::MakeMaker's generated Makefile. Specifically\, MOD_INSTALL's definition in the Makefile includes "-I$(INST_LIB)"\, which causes "make install" to find the new version of "Cwd.pm" without access to "Cwd.so"\, thus failing. The work-around is to edit the generated Makefile by removing the "-I$(INST_LIB)" and then perform the "make install"\, however\, I'm sure that there is a way to fix this preemptively from the Makefile.PL which should be pursued.

A plea\, however\, to the maintainers of modules that lie in the dependency chain for Bundle​::CPAN​: please test your modules with 5.6.x\, which many installations still use! We thank you in advance.

Section of output from "make --debug=b install" follows.

  Must remake target `all'.   Successfully remade target file `all'.   File `pure_install' does not exist.   File `pure_perl_install' does not exist.   Target `pure_perl_install' is double-colon and has no prerequisites.   Must remake target `pure_perl_install'. Can't locate loadable object for module Cwd in @​INC (@​INC contains​: blib/lib /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/5.6.1/ExtUtils/Install.pm line 54 Compilation failed in require at /usr/lib/perl5/5.6.1/ExtUtils/Install.pm line 54. BEGIN failed--compilation aborted at /usr/lib/perl5/5.6.1/ExtUtils/Install.pm line 54. Compilation failed in require. BEGIN failed--compilation aborted. make​: *** [pure_perl_install] Error 255

Perl Info ``` Flags: category=library severity=high Site configuration information for perl v5.6.1: Configured by bhcompile at Mon Aug 18 16:07:35 EDT 2003. Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=linux, osvers=2.4.21-1.1931.2.393.entsmp, archname=i386-linux uname='linux bugs.devel.redhat.com 2.4.21-1.1931.2.393.entsmp #1 smp thu aug 14 14:47:21 edt 2003 i686 unknown ' config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Uusethreads -Uuseithreads -Uuselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Dinc_version_list=5.6.0/i386-linux 5.6.0' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include', optimize='-O2 -march=i386 -mcpu=i686', cppflags='-fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.3 2.96-113)', 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=4 alignbytes=4, usemymalloc=n, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lc -lcrypt -lutil perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil libc=/lib/libc-2.2.5.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' Locally applied patches: @INC for perl v5.6.1: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl . Environment for perl v5.6.1: HOME=/root LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin PERL_BADLANG (unset) SHELL=/bin/bash ```
p5pRT commented 12 years ago

From @jkeenan

On Wed Jan 05 12​:51​:41 2005\, ajs@​itasoftware.com wrote​:

This is a bug report for perl from ajs@​itasoftware.com\, generated with the help of perlbug 1.33 running under perl v5.6.1.

----------------------------------------------------------------- [Please enter your report here]

This is a report of two\, interdependent bugs​: 1) ExtUtils​::MakeMaker generates a Makefile that will fail when installing an XS version of a module which is used during the installation 2) PathTools in the current CPAN (3.01 and 3.01_03) runs into this very problem. Specifics follow.

PathTools is not\, AFAIK\, included in the Perl core distribution. So bugs therein should be filed at its bug tracker​: https://rt.cpan.org/Public/Dist/Display.html?Name=PathTools

ExtUtils​::MakeMaker is a dual-life module\, which means bugs in it should be filed at its bug tracker​: https://rt.cpan.org/Public/Dist/Display.html?Name=ExtUtils-MakeMaker

If these statements are correct\, then can we close this ticket?

Thank you very much. Jim Keenan

p5pRT commented 12 years ago

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

p5pRT commented 12 years ago

From @tonycoz

On Fri\, Dec 02\, 2011 at 04​:23​:04PM -0800\, James E Keenan via RT wrote​:

On Wed Jan 05 12​:51​:41 2005\, ajs@​itasoftware.com wrote​:

This is a bug report for perl from ajs@​itasoftware.com\, generated with the help of perlbug 1.33 running under perl v5.6.1.

----------------------------------------------------------------- [Please enter your report here]

This is a report of two\, interdependent bugs​: 1) ExtUtils​::MakeMaker generates a Makefile that will fail when installing an XS version of a module which is used during the installation 2) PathTools in the current CPAN (3.01 and 3.01_03) runs into this very problem. Specifics follow.

PathTools is not\, AFAIK\, included in the Perl core distribution. So bugs therein should be filed at its bug tracker​: https://rt.cpan.org/Public/Dist/Display.html?Name=PathTools

ExtUtils​::MakeMaker is a dual-life module\, which means bugs in it should be filed at its bug tracker​: https://rt.cpan.org/Public/Dist/Display.html?Name=ExtUtils-MakeMaker

PathTools is included under dist/Cwd

See Porting/Maintainers.pl

But as you say\, they should be reported against their respective bug trackers.

Tony

p5pRT commented 12 years ago

From @craigberry

On Fri\, Dec 2\, 2011 at 6​:35 PM\, Tony Cook \tony@​develop\-help\.com wrote​:

On Fri\, Dec 02\, 2011 at 04​:23​:04PM -0800\, James E Keenan via RT wrote​:

On Wed Jan 05 12​:51​:41 2005\, ajs@​itasoftware.com wrote​:

This is a bug report for perl from ajs@​itasoftware.com\, generated with the help of perlbug 1.33 running under perl v5.6.1.

----------------------------------------------------------------- [Please enter your report here]

This is a report of two\, interdependent bugs​: 1) ExtUtils​::MakeMaker generates a Makefile that will fail when installing an XS version of a module which is used during the installation 2) PathTools in the current CPAN (3.01 and 3.01_03) runs into this very problem. Specifics follow.

PathTools is not\, AFAIK\, included in the Perl core distribution.  So bugs therein should be filed at its bug tracker​: https://rt.cpan.org/Public/Dist/Display.html?Name=PathTools

ExtUtils​::MakeMaker is a dual-life module\, which means bugs in it should be filed at its bug tracker​: https://rt.cpan.org/Public/Dist/Display.html?Name=ExtUtils-MakeMaker

PathTools is included under dist/Cwd

See Porting/Maintainers.pl

But as you say\, they should be reported against their respective bug trackers.

But the entry for PathTools says​:

  'PathTools' =>   {   'MAINTAINER' => 'kwilliams'\,   'DISTRIBUTION' => 'SMUELLER/PathTools-3.33.tar.gz'\,   'FILES' => q[dist/Cwd]\,   'EXCLUDED' => [ qr{^t/lib/Test/} ]\,   'UPSTREAM' => "blead"\,   # NOTE​: PathTools is in dist/Cwd/ instead of dist/PathTools because it   # contains Cwd.xs and something\, possibly Makefile.SH\, makes an assumption   # that the leafname of some file corresponds with the pathname of the   # directory.   }\,

Note that blead is upstream. Meaning it's ok to fix things in core and let CPAN follow. But this was reported against perl 5.6.1\, which is long out of support. So reproducing the original problem with blead would be the first prerequisite to act on the repot.

p5pRT commented 12 years ago

From @tsee

On 12/03/2011 01​:42 AM\, Craig A. Berry wrote​:

But the entry for PathTools says​:

 'PathTools' =>
     \{
     'MAINTAINER'    =>  'kwilliams'\,
     'DISTRIBUTION'  =>  'SMUELLER/PathTools\-3\.33\.tar\.gz'\,
     'FILES'         =>  q\[dist/Cwd\]\,
     'EXCLUDED'      =>  \[ qr\{^t/lib/Test/\} \]\,
     'UPSTREAM'      =>  "blead"\,
     \# NOTE​: PathTools is in dist/Cwd/ instead of dist/PathTools because it
     \# contains Cwd\.xs and something\, possibly Makefile\.SH\, makes

an assumption # that the leafname of some file corresponds with the pathname of the # directory. }\,

Note that blead is upstream. Meaning it's ok to fix things in core and let CPAN follow. But this was reported against perl 5.6.1\, which is long out of support. So reproducing the original problem with blead would be the first prerequisite to act on the repot.

Also\, since I sadly seem to be the closest to a maintainer that PathTools has (hint\, hint\, help welcome)\, let me state that I have no intention to work on maintaining 5.6 compatibility. I will\, however\, apply (sane) patches to core and the CPAN version if somebody else cares for it.

Cheers\, Steffen

p5pRT commented 12 years ago

From @jkeenan

On Fri Dec 02 16​:35​:41 2011\, tonyc wrote​:

PathTools is included under dist/Cwd

It is? Why am I not finding it?

### $ find dist/Cwd -type f

dist/Cwd/blib/bin/.exists dist/Cwd/blib/man1/.exists dist/Cwd/blib/man3/.exists dist/Cwd/blib/script/.exists dist/Cwd/Cwd.bs dist/Cwd/Cwd.c dist/Cwd/Cwd.o dist/Cwd/Cwd.pm dist/Cwd/Cwd.xs dist/Cwd/lib/File/Spec/Cygwin.pm dist/Cwd/lib/File/Spec/Epoc.pm dist/Cwd/lib/File/Spec/Functions.pm dist/Cwd/lib/File/Spec/Mac.pm dist/Cwd/lib/File/Spec/OS2.pm dist/Cwd/lib/File/Spec/Unix.pm dist/Cwd/lib/File/Spec/VMS.pm dist/Cwd/lib/File/Spec/Win32.pm dist/Cwd/lib/File/Spec.pm dist/Cwd/Makefile dist/Cwd/Makefile.PL dist/Cwd/pm_to_blib dist/Cwd/ppport.h dist/Cwd/t/crossplatform.t dist/Cwd/t/cwd.t dist/Cwd/t/Functions.t dist/Cwd/t/rel2abs2rel.t dist/Cwd/t/Spec.t dist/Cwd/t/taint.t dist/Cwd/t/tmpdir.t dist/Cwd/t/win32.t ###

Thank you very much. Jim Keenan

p5pRT commented 12 years ago

From @tonycoz

On Wed\, Dec 07\, 2011 at 06​:25​:43PM -0800\, James E Keenan via RT wrote​:

On Fri Dec 02 16​:35​:41 2011\, tonyc wrote​:

PathTools is included under dist/Cwd

It is? Why am I not finding it?

### $ find dist/Cwd -type f

(snip) dist/Cwd/t/crossplatform.t dist/Cwd/t/cwd.t dist/Cwd/t/Functions.t dist/Cwd/t/rel2abs2rel.t dist/Cwd/t/Spec.t dist/Cwd/t/taint.t dist/Cwd/t/tmpdir.t dist/Cwd/t/win32.t

The MANIFEST from PathTools​:

Changes Cwd.pm Cwd.xs INSTALL lib/File/Spec.pm lib/File/Spec/Cygwin.pm lib/File/Spec/Epoc.pm lib/File/Spec/Functions.pm lib/File/Spec/Mac.pm lib/File/Spec/OS2.pm lib/File/Spec/Unix.pm lib/File/Spec/VMS.pm lib/File/Spec/Win32.pm Makefile.PL MANIFEST This list of files META.yml ppport.h README t/crossplatform.t t/cwd.t t/Functions.t t/lib/Test/Builder.pm t/lib/Test/More.pm t/lib/Test/Simple.pm t/lib/Test/Tutorial.pod t/rel2abs2rel.t t/rel2abs_vs_symlink.t t/Spec.t t/taint.t t/tmpdir.t t/win32.t

There's no PathTools module - just the distribution.

Tony

p5pRT commented 11 years ago

From @jkeenan

On Wed Dec 07 10​:56​:26 2011\, smueller@​cpan.org wrote​:

Also\, since I sadly seem to be the closest to a maintainer that PathTools has (hint\, hint\, help welcome)\, let me state that I have no intention to work on maintaining 5.6 compatibility. I will\, however\, apply (sane) patches to core and the CPAN version if somebody else cares for it.

No one has stepped forward in 14 months to offer to maintain 5.6-compatibility for this distribution.

Closing ticket.

Thank you very much. Jim Keenan

p5pRT commented 11 years ago

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