[Module-build-general] Re: Module-Build CVS on Cygwin98
Status: Beta
Brought to you by:
kwilliams
From: Ken W. <ke...@ma...> - 2002-11-21 00:04:25
|
On Wednesday, November 20, 2002, at 09:33 PM, Michael G Schwern wrote: > Attached is the results from running ./Build test against Module::Build > from CVS on Cygwin98 4.10 with their default 5.6.1. > > The failure to cleanup _build is probably due to the mandatory > locking on > Windows. You must have a file open inside that directory when > realclean is > done. $self->{cleanup_fh} looks like the problem. If I > manually close that > in ACTION_realclean() just before $self->delete_filetree() is called > everything's ok. > > Given that it looks like $self->{cleanup_fh} is only used inside > add_to_cleanup() you can probably eliminate it. Thanks for tracking this down - it would have taken me a while to figure that out. I'll patch like this: @@ -707,6 +706,12 @@ sub ACTION_realclean { my ($self) = @_; $self->depends_on('clean'); + if ($self->{cleanup_fh}) { + # On Windows, you can't delete a directory with files open inside, + # so we close the cleanup file. + close $self->{cleanup_fh}; + delete $self->{cleanup_fh}; + } $self->delete_filetree($self->{properties}{config_dir}, $self->{properties}{build_script}); } > > > As for the linker errors, I don't even understand linking on Linux. > Eek - either someone will have to reach in with the hand of God to show what the problem is, or I'll have to get access to a machine with Cygwin. I could probably figure it out then. Unfortunately, it look like SF doesn't have it in their compile farm. > > > t/basic.............1..11 > ok 1 > Checking whether your kit is complete... > Looks good > ok 2 > Checking whether your kit is complete... > Looks good > ok 3 > ok 4 > Checking whether your kit is complete... > Looks good > ok 5 > ok 6 > ok 7 > ok 8 > ok 9 > Checking whether your kit is complete... > Looks good > ok 10 > ok 11 > Deleting blib > Deleting _build > Can't remove directory _build: Directory not empty at > /cygdrive/c/temp/Module-Build/blib/lib/Module/Build/Base.pm > line 863 > Couldn't remove '_build': > dubious > Test returned status 255 (wstat 65280, 0xff00) > after all the subtests completed successfully > t/runthrough........1..10 > ok 1 > Checking whether your kit is complete... > Looks good > ok 2 > Removing previous file 'Build' > Creating new 'Build' script for 'Sample' version '0.01' > ok 3 > lib/Sample.pm -> blib/lib/Sample.pm > test.p..............ok > All tests successful. > Files=1, Tests=1, 1 wallclock secs ( 0.00 cusr + 0.00 csys = > 0.00 CPU) > ok 4 > /usr/bin/perl Build.PL > Checking whether your kit is complete... > Looks good > Creating new 'Build' script for 'Sample' version '0.01' > ../Build > lib/Sample.pm -> blib/lib/Sample.pm > ../Build test > No tests defined. > ok 5 > ok 6 > Deleting Sample-0.01 > ok 7 > ok 8 > ok 9 > Deleting blib > Deleting _build > Can't remove directory _build: Directory not empty at > /cygdrive/c/temp/Module-Build/blib/lib/Module/Build/Base.pm > line 863 > not ok 10 > # Test 10 got: 'Couldn't remove '_build': > ' (t/runthrough.t at line 50) > # Expected: '' > FAILED test 10 > Failed 1/10 tests, 90.00% okay > t/xs................1..7 > ok 1 > Checking whether your kit is complete... > Looks good > ok 2 > ok 3 > lib/XSTest.pm -> blib/lib/XSTest.pm > /usr/bin/perl -I/usr/lib/perl5/5.6.1/cygwin-multi > -I/usr/lib/perl5/5.6.1 /usr/lib/perl5/5.6.1/cygwin- > multi/ExtUtils/xsubpp -noprototypes -typemap > '/usr/lib/perl5/5.6.1/cygwin-multi/ExtUtils/typemap' > lib/XSTest.xs > lib/XSTest.c > gcc -c -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing > -I/usr/local/include -I/usr/lib/perl5/5.6.1/cygwin-multi/CORE > -o lib/XSTest.o lib/XSTest.c > ExtUtils::Mkbootstrap::Mkbootstrap('lib/XSTest') > lib/XSTest.bs -> blib/arch/auto/XSTest/XSTest.bs > env LD_RUN_PATH=/usr/lib/perl5/5.6.1/cygwin-multi/CORE gcc -s > -L/usr/local/lib -o blib/arch/auto/XSTest/XSTest.dll > lib/XSTest.o > lib/XSTest.o(.text+0x2d):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x37):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x48):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x52):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x60):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x6a):XSTest.c: undefined reference to > `_Perl_Tmarkstack_ptr_ptr' > lib/XSTest.o(.text+0x87):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x91):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0xbb):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0xcd):XSTest.c: undefined reference to `_Perl_croak' > lib/XSTest.o(.text+0xd9):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0xe3):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x10c):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x116):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x13d):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x14b):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x155):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x174):XSTest.c: undefined reference to > `_Perl_sv_2iv' > lib/XSTest.o(.text+0x189):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x193):XSTest.c: undefined reference to > `_Perl_Top_ptr' > lib/XSTest.o(.text+0x1ab):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x1b5):XSTest.c: undefined reference to > `_Perl_Tcurpad_ptr' > lib/XSTest.o(.text+0x1c3):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x1cd):XSTest.c: undefined reference to > `_Perl_Top_ptr' > lib/XSTest.o(.text+0x1ef):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x1f9):XSTest.c: undefined reference to > `_Perl_sv_newmortal' > lib/XSTest.o(.text+0x21f):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x229):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x248):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x260):XSTest.c: undefined reference to > `_Perl_sv_setiv' > lib/XSTest.o(.text+0x27b):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x28c):XSTest.c: undefined reference to > `_Perl_mg_set' > lib/XSTest.o(.text+0x2a4):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x2ae):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x2bc):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x2c6):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x306):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x310):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x31e):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x328):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x336):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x340):XSTest.c: undefined reference to > `_Perl_Tmarkstack_ptr_ptr' > lib/XSTest.o(.text+0x35d):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x367):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x391):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x3b2):XSTest.c: undefined reference to > `_Perl_newXS' > lib/XSTest.o(.text+0x3be):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x3c8):XSTest.c: undefined reference to > `_Perl_Isv_yes_ptr' > lib/XSTest.o(.text+0x3d6):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x3e0):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x3fd):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x407):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x415):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x41f):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > /usr/lib/gcc-lib/i686-pc- > cygwin/3.2/../../../libcygwin.a(libcmain.o)(.text+0x7c): > undefined reference to `_WinMain@16' > collect2: ld returned 1 exit status > not ok 4 > # Test 4 got: 'error building lib/XSTest.o from > 'lib/XSTest.dll' at /cygdrive/c/temp/Module- > Build/blib/lib/Module/Build/Base.pm line 930. > ' (t/xs.t at line 28) > # Expected: '' > lib/XSTest.bs -> blib/arch/auto/XSTest/XSTest.bs > env LD_RUN_PATH=/usr/lib/perl5/5.6.1/cygwin-multi/CORE gcc -s > -L/usr/local/lib -o blib/arch/auto/XSTest/XSTest.dll > lib/XSTest.o > lib/XSTest.o(.text+0x2d):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x37):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x48):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x52):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x60):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x6a):XSTest.c: undefined reference to > `_Perl_Tmarkstack_ptr_ptr' > lib/XSTest.o(.text+0x87):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x91):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0xbb):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0xcd):XSTest.c: undefined reference to `_Perl_croak' > lib/XSTest.o(.text+0xd9):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0xe3):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x10c):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x116):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x13d):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x14b):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x155):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x174):XSTest.c: undefined reference to > `_Perl_sv_2iv' > lib/XSTest.o(.text+0x189):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x193):XSTest.c: undefined reference to > `_Perl_Top_ptr' > lib/XSTest.o(.text+0x1ab):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x1b5):XSTest.c: undefined reference to > `_Perl_Tcurpad_ptr' > lib/XSTest.o(.text+0x1c3):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x1cd):XSTest.c: undefined reference to > `_Perl_Top_ptr' > lib/XSTest.o(.text+0x1ef):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x1f9):XSTest.c: undefined reference to > `_Perl_sv_newmortal' > lib/XSTest.o(.text+0x21f):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x229):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x248):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x260):XSTest.c: undefined reference to > `_Perl_sv_setiv' > lib/XSTest.o(.text+0x27b):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x28c):XSTest.c: undefined reference to > `_Perl_mg_set' > lib/XSTest.o(.text+0x2a4):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x2ae):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x2bc):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x2c6):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x306):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x310):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x31e):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x328):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x336):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x340):XSTest.c: undefined reference to > `_Perl_Tmarkstack_ptr_ptr' > lib/XSTest.o(.text+0x35d):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x367):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x391):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x3b2):XSTest.c: undefined reference to > `_Perl_newXS' > lib/XSTest.o(.text+0x3be):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x3c8):XSTest.c: undefined reference to > `_Perl_Isv_yes_ptr' > lib/XSTest.o(.text+0x3d6):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x3e0):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > lib/XSTest.o(.text+0x3fd):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x407):XSTest.c: undefined reference to > `_Perl_Tstack_sp_ptr' > lib/XSTest.o(.text+0x415):XSTest.c: undefined reference to > `_Perl_Gcurinterp_ptr' > lib/XSTest.o(.text+0x41f):XSTest.c: undefined reference to > `_Perl_Tstack_base_ptr' > /usr/lib/gcc-lib/i686-pc- > cygwin/3.2/../../../libcygwin.a(libcmain.o)(.text+0x7c): > undefined reference to `_WinMain@16' > collect2: ld returned 1 exit status > not ok 5 > # Test 5 got: 'error building lib/XSTest.o from > 'lib/XSTest.dll' at /cygdrive/c/temp/Module- > Build/blib/lib/Module/Build/Base.pm line 930. > ' (t/xs.t at line 32) > # Expected: '' > Deleting lib/XSTest.o > Deleting lib/XSTest.bs > Deleting blib > Deleting lib/XSTest.c > ok 6 > ok 7 > FAILED tests 4-5 > Failed 2/7 tests, 71.43% okay > Failed Test Status Wstat Total Fail Failed List of Failed > -------------------------------------------------------------------------------- > t/basic.t 255 65280 11 0 0.00% ?? > t/runthrough.t 10 1 10.00% 10 > t/xs.t 7 2 28.57% 4-5 > Failed 3/3 test scripts, 0.00% okay. 3/28 subtests failed, 89.29% okay. > > > > -- > > Michael G. Schwern <sc...@po...> > http://www.pobox.com/~schwern/ > Perl Quality Assurance <pe...@pe...> Kwalitee > Is Job One > The desired effect is what you get when you improve your interplanetary > funksmanship. > -Ken |