Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 30413
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: amesdaq [...] websense.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.2808
Fixed in: 0.30



Subject: Can't Install as non root on shared host
Looks like I cant install on shared host even with my own new perl installation in my home directory. Looks like somewhere along the lines it just looses its path information and all the other errors just cascade from that. example: ... Use of uninitialized value in chdir at t/lib/DistGen.pm line 332. Use of chdir('') or chdir(undef) as chdir() is deprecated at t/lib/DistGen.pm line 332. Can't open perl script "Build.PL": No such file or directory Can't find 'build_params' in _build at /home/u3/solidriver/.cpan/build/Module-Build-0.2808-VFcyqo/blib/lib/Module/Build/Base.pm line 1011. # Looks like you planned 52 tests but only ran 26. # Looks like your test died just after 26. Warning: Removing existing directory '/home/u3/solidriver/.cpan/build/Module-Build-0.2808-VFcyqo/t/_tmp/Simple' pwd: .: Permission denied pwd: .: Permission denied Can't find file lib/Simple.pm to determine version at /home/u3/solidriver/.cpan/build/Module-Build-0.2808-VFcyqo/blib/lib/Module/Build/Base.pm line 950. Couldn't run Build.PL: at /home/u3/solidriver/.cpan/build/Module-Build-0.2808-VFcyqo/blib/lib/Module/Build/Compat.pm line 200. # Failed test at t/compat.t line 180. # Failed test 'Makefile should exist' # at t/compat.t line 181. make: Permission denied pwd: .: Permission denied pwd: .: Permission denied .... I accept the possibility that I could be doing something wrong or uninformed but I do feel this module should install in my setup especially since its critical for other modules to install.
Bizarre. Could I get a little more context, like the commands you used for 'perl Build.PL', etc.? And your 'perl -V' output? -Ken
From: amesdaq [...] websense.com
On Thu Nov 01 18:12:22 2007, KWILLIAMS wrote: Show quoted text
> Bizarre. Could I get a little more context, like the commands you > used for 'perl Build.PL', etc.? > And your 'perl -V' output? > > -Ken
for the perl Build.pl command I just did ~/perl/bin/perl Build.PL Only other command was ./Build test I have attached the output from command. Here is the ~/perl/bin/perl -V output ################################# Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=freebsd, osvers=6.2-release, archname=i386-freebsd uname='freebsd .websense.com 6.2-release freebsd 6.2-release #0: fri jan 12 10:40:27 utc 2007 root@dessler.cse.buffalo.edu:usrobjusrsrcsysgeneric i386 ' config_args='-Dprefix=/home/u3/solidriver/perl -des' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include', optimize='-O', cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include' ccversion='', gccversion='3.4.6 [FreeBSD] 20060305', 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='cc', ldflags ='-Wl,-E -L/usr/local/lib' libpth=/usr/lib /usr/local/lib libs=-lm -lcrypt -lutil -lc perllibs=-lm -lcrypt -lutil -lc libc=, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO Built under freebsd Compiled at Oct 30 2007 16:47:37 @INC: /home/u3/solidriver/perl/lib/5.8.8/i386-freebsd /home/u3/solidriver/perl/lib/5.8.8 /home/u3/solidriver/perl/lib/site_perl/5.8.8/i386-freebsd /home/u3/solidriver/perl/lib/site_perl/5.8.8 /home/u3/solidriver/perl/lib/site_perl . #################################
t/basic...............ok 1/52Use of uninitialized value in chdir at t/lib/DistGen.pm line 356. Use of chdir('') or chdir(undef) as chdir() is deprecated at t/lib/DistGen.pm line 356. Can't open perl script "Build.PL": No such file or directory Can't find 'build_params' in _build at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 1022. # Looks like you planned 52 tests but only ran 26. # Looks like your test died just after 26. t/basic...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 27-52 Failed 26/52 tests, 50.00% okay t/compat..............ok 2/122pwd: .: Permission denied Use of uninitialized value in chdir at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. Can't find file lib/Simple.pm to determine version at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 961. Couldn't run Build.PL: at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Compat.pm line 207. # Failed test (t/compat.t at line 271) # Failed test (t/compat.t at line 272) t/compat..............NOK 14/122make: Permission denied t/compat..............ok 15/122pwd: .: Permission denied Use of uninitialized value in chdir at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751 File::Find::_find_opt('HASH(0x85ba684)', .) called at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 1223 File::Find::find('HASH(0x85ba684)', .) called at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/Manifest.pm line 164 ExtUtils::Manifest::manifind('undef') called at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/Manifest.pm line 252 ExtUtils::Manifest::_check_files() called at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/Manifest.pm line 185 ExtUtils::Manifest::manicheck() called at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 1465 Module::Build::Base::check_manifest('Module::Build=HASH(0x82f1510)') called at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 35 Module::Build::Base::new('Module::Build', 'module_name', 'Simple', 'license', 'perl') called at ./Build.PL line 4 require ./Build.PL called at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 100 Module::Build::Base::new_from_context('Module::Build') called at t/compat.t line 221 main::__ANON__() called at t/lib/MBTest.pm line 95 eval {...} called at t/lib/MBTest.pm line 95 MBTest::save_handle('GLOB(0x811f8c4)', 'CODE(0x850666c)') called at t/lib/MBTest.pm line 103 MBTest::stdout_of('CODE(0x850666c)') called at t/compat.t line 222 main::test_makefile_types() called at t/compat.t line 52 Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751 File::Find::_find_opt('HASH(0x85ba684)', .) called at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 1223 File::Find::find('HASH(0x85ba684)', .) called at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/Manifest.pm line 164 ExtUtils::Manifest::manifind('undef') called at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/Manifest.pm line 252 ExtUtils::Manifest::_check_files() called at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/Manifest.pm line 185 ExtUtils::Manifest::manicheck() called at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 1465 Module::Build::Base::check_manifest('Module::Build=HASH(0x82f1510)') called at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 35 Module::Build::Base::new('Module::Build', 'module_name', 'Simple', 'license', 'perl') called at ./Build.PL line 4 require ./Build.PL called at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 100 Module::Build::Base::new_from_context('Module::Build') called at t/compat.t line 221 main::__ANON__() called at t/lib/MBTest.pm line 95 eval {...} called at t/lib/MBTest.pm line 95 MBTest::save_handle('GLOB(0x811f8c4)', 'CODE(0x850666c)') called at t/lib/MBTest.pm line 103 MBTest::stdout_of('CODE(0x850666c)') called at t/compat.t line 222 main::test_makefile_types() called at t/compat.t line 52 Can't open 86500-1193956764-0008: No such file or directory at t/lib/MBTest.pm line 115. # Looks like you planned 122 tests but only ran 16. # Looks like your test died just after 16. t/compat..............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 13-14, 17-122 Failed 108/122 tests, 11.48% okay t/destinations........ok 8/113 skipped: various reasons t/ext.................ok t/extend..............ok 1/65pwd: .: Permission denied t/extend..............ok t/files...............ok t/help................ok t/install.............ok 1/34pwd: .: Permission denied Use of uninitialized value in chdir at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. Can't find file lib/Simple.pm to determine version at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 961. Can't open perl script "Build": No such file or directory t/install.............NOK 23/34# Failed test (t/install.t at line 244) # Expected /home/u3/solidriver/Module-Build-0.2808_01/t/install_test.86668/foo/lib/Simple.pm to exist, but it doesn't Can't open perl script "Build": No such file or directory # Failed test (t/install.t at line 171) t/install.............NOK 25/34# got: undef # expected: '1' pwd: .: Permission denied Use of uninitialized value in chdir at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/u3/solidriver/perl/lib/5.8.8/File/Find.pm line 751. Can't find file lib/Simple.pm to determine version at /home/u3/solidriver/Module-Build-0.2808_01/blib/lib/Module/Build/Base.pm line 961. # Looks like you planned 34 tests but only ran 26. # Looks like your test died just after 26. t/install.............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 23, 25, 27-34 Failed 10/34 tests, 70.59% okay t/manifypods..........ok t/mbyaml..............ok t/metadata............ok t/metadata2...........ok t/moduleinfo..........ok t/new_from_context....ok t/notes...............ok t/par.................skipped all skipped: Archive::Zip required. t/parents.............ok t/pod_parser..........ok t/ppm.................ok 2/12Use of uninitialized value in chdir at t/lib/DistGen.pm line 356. Use of chdir('') or chdir(undef) as chdir() is deprecated at t/lib/DistGen.pm line 356. Not a GLOB reference at /home/u3/solidriver/perl/lib/site_perl/5.8.8/IO/Zlib.pm line 563. # Looks like you planned 12 tests but only ran 9. # Looks like your test died just after 9. t/ppm.................dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 10-12 Failed 3/12 tests, 75.00% okay t/runthrough..........ok 4/32 skipped: various reasons t/signature...........skipped all skipped: $ENV{TEST_SIGNATURE} is not set t/test_type...........ok t/test_types..........ok t/tilde...............ok t/versions............ok t/xs..................ok 2/22pwd: .: Permission denied pwd: .: Permission denied pwd: .: Permission denied pwd: .: Permission denied Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/ParseXS.pm line 999, <GEN7> line 26. cc: lib/Simple.c: No such file or directory cc: No input files specified error building lib/Simple.o from 'lib/Simple.c' at /home/u3/solidriver/perl/lib/site_perl/5.8.8/ExtUtils/CBuilder/Base.pm line 109. pwd: .: Permission denied pwd: .: Permission denied Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/u3/solidriver/perl/lib/5.8.8/ExtUtils/ParseXS.pm line 999, <GEN58> line 26. cc: lib/Simple.c: No such file or directory cc: No input files specified # Failed test (t/xs.t at line 92) # got: 'error building lib/Simple.o from 'lib/Simple.c' at /home/u3/solidriver/perl/lib/site_perl/5.8.8/ExtUtils/CBuilder/Base.pm line 109. # ' # expected: '' t/xs..................ok 15/22# Looks like you failed 1 test of 22. t/xs..................dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 12 Failed 1/22 tests, 95.45% okay Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/basic.t 255 65280 52 52 27-52 t/compat.t 255 65280 122 214 13-14 17-122 t/install.t 255 65280 34 18 23 25 27-34 t/ppm.t 255 65280 12 6 10-12 t/xs.t 1 256 22 1 12 2 tests and 12 subtests skipped. Failed 5/26 test scripts. 148/849 subtests failed. Files=26, Tests=849, 13 wallclock secs ( 6.93 cusr + 4.57 csys = 11.50 CPU) Failed 5/26 test programs. 148/849 subtests failed.
Subject: tests failing at chdir(undef) in DistGen.pm
On Thu Nov 01 14:54:23 2007, amesdaq wrote: Show quoted text
> Use of uninitialized value in chdir at t/lib/DistGen.pm line 332. > Use of chdir('') or chdir(undef) as chdir() is deprecated at > t/lib/DistGen.pm line 332.
That looks like Cwd::abs_path() is returning undef at the beginning of clean() in DistGen.pm. Is this a PathTools bug? What do you get for `perl -MCwd -le 'print Cwd->VERSION'`?
From: amesdaq [...] websense.com
On Sat Dec 15 15:01:26 2007, EWILHELM wrote: Show quoted text
> On Thu Nov 01 14:54:23 2007, amesdaq wrote:
> > Use of uninitialized value in chdir at t/lib/DistGen.pm line 332. > > Use of chdir('') or chdir(undef) as chdir() is deprecated at > > t/lib/DistGen.pm line 332.
> > That looks like Cwd::abs_path() is returning undef at the beginning of > clean() in DistGen.pm. Is this a PathTools bug? What do you get for > `perl -MCwd -le 'print Cwd->VERSION'`?
I get 3.12 for the version. Is there a specific version I should be at or above? Thanks,
On Mon Dec 17 13:33:20 2007, amesdaq wrote: Show quoted text
> On Sat Dec 15 15:01:26 2007, EWILHELM wrote:
>> That looks like Cwd::abs_path() is returning >> undef at the beginning of clean() in DistGen.pm. >> Is this a PathTools bug? What do you get for >> `perl -MCwd -le 'print Cwd->VERSION'`?
> I get 3.12 for the version.
3.12 works for me, but perhaps you're seeing this bug: http://rt.cpan.org/Ticket/Display.html?id=13851 Are your directory permissions excessively restrictive? The only way I can get abs_path() to return undef is: cd /tmp; mkdir foo; cd foo chmod 000 . perl -MCwd -w -le 'print Cwd::abs_path("blah")'
From: amesdaq [...] websense.com
On Mon Dec 17 14:21:05 2007, EWILHELM wrote: Show quoted text
> On Mon Dec 17 13:33:20 2007, amesdaq wrote:
> > On Sat Dec 15 15:01:26 2007, EWILHELM wrote:
> >> That looks like Cwd::abs_path() is returning > >> undef at the beginning of clean() in DistGen.pm. > >> Is this a PathTools bug? What do you get for > >> `perl -MCwd -le 'print Cwd->VERSION'`?
> > I get 3.12 for the version.
> > 3.12 works for me, but perhaps you're seeing this bug: > > http://rt.cpan.org/Ticket/Display.html?id=13851 > > Are your directory permissions excessively restrictive? The only way I > can get abs_path() to return undef is: > > cd /tmp; mkdir foo; cd foo > chmod 000 . > perl -MCwd -w -le 'print Cwd::abs_path("blah")'
Yes the directories are excessively restrictive. But the bug you linked also seemed to have issues with nfs mounted home directories which are common on shared hosts. Is there any other info I can give you to help determine the problem?
Subject: Re: [rt.cpan.org #30413] tests failing at chdir(undef) in DistGen.pm
Date: Mon, 17 Dec 2007 20:54:15 -0800
To: bug-Module-Build [...] rt.cpan.org
From: Eric Wilhelm <scratchcomputing [...] gmail.com>
# from Ali Mesdaq via RT # on Monday 17 December 2007 11:51: Show quoted text
>>   cd /tmp; mkdir foo; cd foo >>   chmod 000 . >>   perl -MCwd -w -le 'print Cwd::abs_path("blah")'
> >Yes the directories are excessively restrictive. But the bug you > linked also seemed to have issues with nfs mounted home directories > which are common on shared hosts. Is there any other info I can give > you to help determine the problem?
You could send a listing of the permissions of each directory upward from the working directory. But, at this point, it sounds like this ticket is maybe going to be stalled pending a fix in PathTools. If you can send Ken a patch for that, that would help move things along. Note that it still may be a bug in the M::B tests. Do newer versions exhibit the same behavior? What about outside of CPAN.pm? What about running `perl Build.PL && ./Build test` instead of Makefile.PL? I'm guessing that abs_path() is doing a chdir upwards and hitting something that it's not allowed to come back to -- but I'm not sure how you could login if that's the case. The undef answer also happens if the current directory has been deleted since the process started. The former is the PathTools thing, the latter would indicate a M::B bug (or possibly something to do with CPAN.pm's temporary build dir.) If you can determine which one is happening, that would help. --Eric
On Mon Dec 17 14:51:36 2007, amesdaq wrote: Show quoted text
> > Are your directory permissions excessively restrictive? The only way I > > can get abs_path() to return undef is: > > > > cd /tmp; mkdir foo; cd foo > > chmod 000 . > > perl -MCwd -w -le 'print Cwd::abs_path("blah")'
> > Yes the directories are excessively restrictive. But the bug you linked > also seemed to have issues with nfs mounted home directories which are > common on shared hosts. Is there any other info I can give you to help > determine the problem?
This issue should be resolved by PathTools 3.26 which did an extensive upgrade to abs_path, could you please try?
From: amesdaq [...] websense.com
On Mon Mar 03 16:02:54 2008, MSCHWERN wrote: Show quoted text
> On Mon Dec 17 14:51:36 2007, amesdaq wrote:
> > > Are your directory permissions excessively restrictive? The only
way I Show quoted text
> > > can get abs_path() to return undef is: > > > > > > cd /tmp; mkdir foo; cd foo > > > chmod 000 . > > > perl -MCwd -w -le 'print Cwd::abs_path("blah")'
> > > > Yes the directories are excessively restrictive. But the bug you
linked Show quoted text
> > also seemed to have issues with nfs mounted home directories which
are Show quoted text
> > common on shared hosts. Is there any other info I can give you to
help Show quoted text
> > determine the problem?
> > This issue should be resolved by PathTools 3.26 which did an extensive > upgrade to abs_path, could you please try?
Still having issues. Same host different install. Built my own perl so I can isolate all issues and versions. That perl install is located at /home/u1/srdealer1/perl. Also verified that I have updated version of PathTools [srdealer1@pro42 Module-Build-0.2808] $ /home/u1/srdealer1/perl/bin/perl -MCwd -le 'print Cwd->VERSION' 3.2701 To install I ran the following steps 1 - wget http://cpan.mirrors.redwire.net/authors/id/K/KW/KWILLIAMS/Module-Build- 0.2808.tar.gz 2 - tar xzvf Module-Build-0.2808.tar.gz 3 - cd Module-Build-0.2808 4 - /home/u1/srdealer1/perl/bin/perl Build.PL 5 - ./Build 6 - ./Build test And thats when it fails. Attached is the output from ./Build test

Message body is not shown because it is too large.

Subject: Re: [rt.cpan.org #30413] tests failing at chdir(undef) in DistGen.pm
Date: Wed, 05 Mar 2008 11:16:43 +0100
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
I have some more questions about your environment. What are the permissions on /home/u1/srdealer1/Module-Build-0.2808/ and all it's parent directories? Please show me an ls -ld on each of these: /home/u1/srdealer1/Module-Build-0.2808/t/ /home/u1/srdealer1/Module-Build-0.2808/ /home/u1/srdealer1/ /home/u1/ /home/ / Also what does this give? perl -wle 'use Cwd; print Cwd::abs_path(shift)' /home/u1/srdealer1/Module-Build-0.2808/ Finally, what user are you running the install as?
From: amesdaq [...] websense.com
On Wed Mar 05 05:19:54 2008, schwern@pobox.com wrote: Show quoted text
> I have some more questions about your environment. > > What are the permissions on /home/u1/srdealer1/Module-Build-0.2808/
and all Show quoted text
> it's parent directories? Please show me an ls -ld on each of these: > > /home/u1/srdealer1/Module-Build-0.2808/t/ > /home/u1/srdealer1/Module-Build-0.2808/ > /home/u1/srdealer1/ > /home/u1/ > /home/ > / > > Also what does this give? > > perl -wle 'use Cwd; print Cwd::abs_path(shift)' > /home/u1/srdealer1/Module-Build-0.2808/ > > Finally, what user are you running the install as?
Here are the permissions [srdealer1@pro42 ~]$ ls -ld /home/u1/srdealer1/Module-Build-0.2808/t/ drwxr-xr-x 4 srdealer1 srdealer1 1024 Mar 3 21:55 /home/u1/srdealer1/Module-Build-0.2808/t/ [srdealer1@pro42 ~]$ ls -ld /home/u1/srdealer1/Module-Build-0.2808/ drwxr-xr-x 8 srdealer1 srdealer1 512 Mar 3 21:55 /home/u1/srdealer1/Module-Build-0.2808/ [srdealer1@pro42 ~]$ ls -ld /home/u1/srdealer1/ drwxr-x--x 13 srdealer1 srdealer1 512 Mar 3 21:53 /home/u1/srdealer1/ [srdealer1@pro42 ~]$ ls -ld /home/u1/ drwxr-x--x 342 root wheel 7680 Mar 5 12:12 /home/u1/ [srdealer1@pro42 ~]$ ls -ld /home/ drwxr-x--x 32 root wheel 512 Mar 5 11:17 /home/ [srdealer1@pro42 ~]$ ls -ld / drwxr-xr-x 21 root wheel 512 Feb 28 12:44 / [srdealer1@pro42 ~]$ Here is the command you wanted me to run [srdealer1@pro42 ~]$ /home/u1/srdealer1/perl/bin/perl -wle 'use Cwd; print Cwd::abs_path(shift)' /home/u1/srdealer1/Module-Build-0.2808/ /home/u1/srdealer1/Module-Build-0.2808 However I think I know why the tests might be failing or at least a big hint as to why. When I run: /home/u1/srdealer1/perl/bin/perl Build.PL The Build file has the path I used for perl at the shebang of the file. But all the test files use #!/usr/bin/perl -w instead of what I used. I think whats happening is that when the tests are being executed they are using the systems perl install which is locked down a lot and probably doesnt even have the directories its looking for. I think that needs to be fixed so its using the same perl that was using in the command: /home/u1/srdealer1/perl/bin/perl Build.PL Could that be the issue?
From: kwilliams [...] cpan.org
On Wed Mar 05 16:11:09 2008, amesdaq wrote: Show quoted text
> The Build file has the path I used for perl at the shebang of the file. > But all the test files use #!/usr/bin/perl -w instead of what I used.
That's not likely to be the problem, the tests will be run with the same perl that that's in the ./Build file, despite their shebang line saying something different. -Ken
Subject: Re: [rt.cpan.org #30413] tests failing at chdir(undef) in DistGen.pm
Date: Wed, 5 Mar 2008 14:31:03 -0800
To: Ken Williams via RT <bug-Module-Build [...] rt.cpan.org>
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
On Wed, Mar 05, 2008 at 05:20:13PM -0500, Ken Williams via RT wrote: Show quoted text
> > Queue: Module-Build > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=30413 > > > On Wed Mar 05 16:11:09 2008, amesdaq wrote: >
> > The Build file has the path I used for perl at the shebang of the file. > > But all the test files use #!/usr/bin/perl -w instead of what I used.
> > That's not likely to be the problem, the tests will be run with the same > perl that that's in the ./Build file, despite their shebang line saying > something different.
I think this may be the same problem as what I was reporting for a decade (but for MakeMaker): wrong perl used for build/testing. [Unfortunately, since google pulled the plug on perl5-porters, I do not know how to find it quickly.] Recipe: Disable `which perl` on your system. Watch how build behaves. Hope this helps, Ilya
Subject: Re: [rt.cpan.org #30413] tests failing at chdir(undef) in DistGen.pm
Date: Thu, 06 Mar 2008 16:44:34 +0100
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Ilya Zakharevich via RT wrote: Show quoted text
>>> The Build file has the path I used for perl at the shebang of the file. >>> But all the test files use #!/usr/bin/perl -w instead of what I used.
>> That's not likely to be the problem, the tests will be run with the same >> perl that that's in the ./Build file, despite their shebang line saying >> something different.
> > I think this may be the same problem as what I was reporting for a > decade (but for MakeMaker): wrong perl used for build/testing. > [Unfortunately, since google pulled the plug on perl5-porters, I do > not know how to find it quickly.]
Are you referring to Google Groups? They still do p5p. http://groups.google.com/group/perl.perl5.porters/topics And the xray archive still works. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/ Show quoted text
> Recipe: Disable `which perl` on your system. Watch how build behaves.
I don't think either MakeMaker or Module::Build use which. And how does one disable it? And how would it become so, aside from not existing in the first place. -- 54. “Napalm sticks to kids” is *not* a motivational phrase. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/
On Thu Mar 06 10:49:31 2008, schwern@pobox.com wrote: Show quoted text
>
> > Recipe: Disable `which perl` on your system. Watch how build
> behaves. > > I don't think either MakeMaker or Module::Build use which. And how > does one > disable it? And how would it become so, aside from not existing in > the first > place.
I think he meant "disable the thing that `which perl` points to", i.e. the thing that typing "perl" at a cmd-line would run, then try to build using another perl. But that should work fine. -Ken
Subject: Re: [rt.cpan.org #30413] tests failing at chdir(undef) in DistGen.pm
Date: Thu, 06 Mar 2008 17:09:08 +0100
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Ali Mesdaq via RT wrote: Show quoted text
> However I think I know why the tests might be failing or at least a big > hint as to why. When I run: > /home/u1/srdealer1/perl/bin/perl Build.PL > > The Build file has the path I used for perl at the shebang of the file. > But all the test files use #!/usr/bin/perl -w instead of what I used. I > think whats happening is that when the tests are being executed they are > using the systems perl install which is locked down a lot and probably > doesnt even have the directories its looking for. I think that needs to > be fixed so its using the same perl that was using in the command: > /home/u1/srdealer1/perl/bin/perl Build.PL > > Could that be the issue?
The perl on the #! line is not honored, the tests should run with the same perl you ran Build.PL with. However, it is possible the tests are being run with the wrong perl. If that perl doesn't have an upgraded Cwd it would explain the problem. Throw a C< print STDERR "# Perl: $^X\n"; > into t/lib/DistGen.pm just before the point of failure. That will tell us what perl is running. Also, what's the #! line in Build? -- Look at me talking when there's science to do. When I look out there it makes me glad I'm not you. I've experiments to be run. There is research to be done On the people who are still alive. -- Jonathan Coulton, "Still Alive"
Subject: Re: [rt.cpan.org #30413] tests failing at chdir(undef) in DistGen.pm
Date: Thu, 6 Mar 2008 14:16:26 -0800
To: Michael G Schwern via RT <bug-Module-Build [...] rt.cpan.org>
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
On Thu, Mar 06, 2008 at 10:49:34AM -0500, Michael G Schwern via RT wrote: Show quoted text
> Are you referring to Google Groups? They still do p5p. > http://groups.google.com/group/perl.perl5.porters/topics
Well, my searches through author:ilya did not pick it up. Show quoted text
> And the xray archive still works. > http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
Thanks. Show quoted text
> > Recipe: Disable `which perl` on your system. Watch how build behaves.
> > I don't think either MakeMaker or Module::Build use which. And how does one > disable it?
E.g., symlink it to echo. Or remove one of the DLLs it depends on. Show quoted text
> And how would it become so, aside from not existing in the first > place.
Anyway, for a "correct" operation, how `which perl` operates should not concern a module builder at all. All the operations should be performed with the perl which run Makefile.PL or Build.PL (provided one could find it :-[). Any other mode of operation means that the deployment is not fully tested (IMO, each [non-broken] module test is also a test of the Perl distribution). I suspect the OP was hit by a problem which stems from using a "wrong" perl executable (e.g., one from $ENV{PATH}). Hope this helps, Ilya
On Thu Nov 01 14:54:23 2007, amesdaq wrote: Show quoted text
> it just looses its path information and all the other errors just > cascade from that. example: >... > Use of uninitialized value in chdir at t/lib/DistGen.pm line 332. > Use of chdir('') or chdir(undef) as chdir() is deprecated at > t/lib/DistGen.pm line 332.
Hi, I think this is resolved in 0.30, probably by svn r11502. If you can reproduce it with the current version, please reopen the ticket. Thanks, Eric