Skip Menu |

This queue is for tickets about the P5NCI CPAN distribution.

Report information
The Basics
Id: 21478
Status: open
Priority: 0/
Queue: P5NCI

People
Owner: chromatic [...] cpan.org
Requestors: smueller [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.30
Fixed in: (no value)



Subject: Building on win32
I tried building P5NCI on win32 "strawberry perl" with the bundled mingw gcc. I'm really not sure whether this is a bug in P5NCI or in the CBuilder tools or in the distribution itself. Feel free to point me elsewhere. Following is the log the the attempt to build the module. Send me a quick notice if you want me to run additional tests. Below the output, you'll find a perl -V Steffen --- C:\DOKUME~1\tsee\LOKALE~1\Temp\cpan\build\P5NCI-0.30>perl Build.PL Checking whether your kit is complete... Looks good Checking prerequisites... Looks good Deleting Build Removed previous script 'Build' Creating new 'Build' script for 'P5NCI' version '0.30' C:\DOKUME~1\tsee\LOKALE~1\Temp\cpan\build\P5NCI-0.30>perl Build gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_ SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -I"C:\strawberry-perl\perl \lib\CORE" -I"C:\strawberry-perl\mingw\include" -o "src\nci_test.o" "src\nci_tes t.c" Use of uninitialized value in substitution (s///) at C:/strawberry-perl/perl/sit e/lib/ExtUtils/CBuilder/Platform/Windows.pm line 161. Use of uninitialized value in concatenation (.) or string at C:/strawberry-perl/ perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 162. Use of uninitialized value in substitution (s///) at C:/strawberry-perl/perl/sit e/lib/ExtUtils/CBuilder/Platform/Windows.pm line 187. Use of uninitialized value in concatenation (.) or string at C:/strawberry-perl/ perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 195. Use of uninitialized value in concatenation (.) or string at C:/strawberry-perl/ perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 197. Use of uninitialized value in concatenation (.) or string at C:/strawberry-perl/ perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 199. Use of uninitialized value in concatenation (.) or string at C:/strawberry-perl/ perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 201. Use of uninitialized value in anonymous hash ({}) at C:/strawberry-perl/perl/sit e/lib/ExtUtils/Mksymlists.pm line 29. Use of uninitialized value in substitution (s///) at C:/strawberry-perl/perl/sit e/lib/ExtUtils/Mksymlists.pm line 122. Use of uninitialized value in substr at C:/strawberry-perl/perl/site/lib/ExtUtil s/Mksymlists.pm line 123. Use of uninitialized value in concatenation (.) or string at C:/strawberry-perl/ perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 635. Generating script 'src\.lds' dlltool --def "src\.def" --output-exp "src\.exp" g++ -o "src\.dll" -Wl,--base-file,"src\.base" -Wl,--image-base,0xc640000 -mdll - s -Lc:\strawberry-perl\perl\lib\CORE -Lc:\strawberry-perl\mingw\lib "src\.lds" " src\.exp" src\.exp:fake:(.edata+0x34): undefined reference to `boot_' src\.exp:fake:(.edata+0x38): undefined reference to `boot_' collect2: ld returned 1 exit status dlltool --def "src\.def" --output-exp "src\.exp" --base-file "src\.base" g++ -o "src\.dll" -Wl,--image-base,0xc640000 -mdll -s -Lc:\strawberry-perl\perl\ lib\CORE -Lc:\strawberry-perl\mingw\lib "src\.lds" "src\.exp" src\.exp:fake:(.edata+0x34): undefined reference to `boot_' src\.exp:fake:(.edata+0x38): undefined reference to `boot_' collect2: ld returned 1 exit status Use of uninitialized value in numeric lt (<) at build_lib/P5NCI/Build.pm line 43 . Can't write lib\P5NCI.xs: Permission denied C:\DOKUME~1\tsee\LOKALE~1\Temp\cpan\build\P5NCI-0.30>perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=define use5005threads=undef useithreads=define usemultiplicity=de fine useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTE XT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='3.4.5', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseek size=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"c:\strawberry-perl\perl\lib\CORE" -L"c:\strawberry -perl\mingw\lib"' libpth=c:\strawberry-perl\mingw\lib libs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 perllibs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdl g32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lw inmm -lversion -lodbc32 -lodbccp32 libc=-lmsvcrt, so=dll, useshrplib=yes, libperl=libperl58.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"c:\strawberry-perl\perl\lib\CORE" -L" c:\strawberry-perl\mingw\lib"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_PERLIO Built under MSWin32 Compiled at Aug 27 2006 17:17:50 @INC: C:/strawberry-perl/perl/lib C:/strawberry-perl/perl/site/lib .
On Thu Sep 14 04:33:29 2006, SMUELLER wrote: Show quoted text
> I tried building P5NCI on win32 "strawberry perl" with the bundled mingw > gcc. I'm really not sure whether this is a bug in P5NCI or in the > CBuilder tools or in the distribution itself. Feel free to point me > elsewhere.
It "feels" like a bug in CBuilder. I'm curious what happens: Show quoted text
> Use of uninitialized value in substitution (s///) at > C:/strawberry-perl/perl/sit > e/lib/ExtUtils/CBuilder/Platform/Windows.pm line 161. > Use of uninitialized value in concatenation (.) or string at > C:/strawberry-perl/ > perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 162. > Use of uninitialized value in substitution (s///) at > C:/strawberry-perl/perl/sit > e/lib/ExtUtils/CBuilder/Platform/Windows.pm line 187.
... in those lines. It would be nice to know what Perl thinks is undefined and what I think should be defined. -- c
From: SMUELLER [...] cpan.org
Hi, sorry this reply took so long. On Mo. 09. Okt. 2006, 22:28:41, CHROMATIC wrote: Show quoted text
> > Use of uninitialized value in substitution (s///) at > > C:/strawberry-perl/perl/sit > > e/lib/ExtUtils/CBuilder/Platform/Windows.pm line 161. > > Use of uninitialized value in concatenation (.) or string at > > C:/strawberry-perl/ > > perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 162. > > Use of uninitialized value in substitution (s///) at > > C:/strawberry-perl/perl/sit > > e/lib/ExtUtils/CBuilder/Platform/Windows.pm line 187.
> > ... in those lines. It would be nice to know what Perl thinks is > undefined and what I think should be defined.
161 is this line: (in the link() function) (my $file_base = $args{module_name}) =~ s/.*:://; And the call to link() is in your build_lib/P5NIC/Build.pm line 32: my $lib_file = $b->link( objects => $compiled,); Inserting a cluck() into the link() function to get a trace yields the following: . at C:/strawberry-perl/perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 153 ExtUtils::CBuilder::Platform::Windows::link('ExtUtils::CBuilder=HASH(0xd 519b8)', 'objects', 'src\nci_test.o', 'module_name', 'P5NCI') called at build_lib/P5NCI/Build.pm line 32 P5NCI::Build::build_test_library('P5NCI::Build=HASH(0xdc461c)') called at build_lib/P5NCI/Build.pm line 14 P5NCI::Build::ACTION_build('P5NCI::Build=HASH(0xdc461c)') called at C:/strawberry-perl/perl/site/lib/Module/Build/Base.pm line 1469 Module::Build::Base::_call_action('P5NCI::Build=HASH(0xdc461c)', 'build') called at C:/strawberry-perl/perl/site/lib/Module/Build/Base.pm line 1458 Module::Build::Base::dispatch('P5NCI::Build=HASH(0xdc461c)') called at Build line 57 I'm rather ignorant of ExtUtils::CBuilder and of the whole XS toolchain, so I can't provide further insight without more directions where to look. Steffen