I've heard module authors complain that Perlmonks isn't the place to post bug reports for modules, but I'm not convinced the problem is actually with this module, but rather, it's something wider, affecting more modules, and weirder.

Running CPAN.pm trying to "(n)make test" on Scalar-List-Utils-1.18, on [http://pxperl.com|PXPerl with MinGW's port of gcc 3.2.3, I get the following output (I stripped the irrelevant stuff, like listing the contents of the archive):

cp lib/List/Util.pm blib\lib\List\Util.pm cp lib/Scalar/Util.pm blib\lib\Scalar\Util.pm D:\PXPerl\bin\perl.exe -Iinc D:\PXPerl\lib\ExtUtils/xsubpp -t +ypemap D:\ PXPerl\lib\ExtUtils\typemap Util.xs > Util.xsc && D:\PXPerl\bin\perl. +exe -Iinc -MExtUtils::Command -e mv Util.xsc Util.c gcc -c -g -O3 -fno-strict-aliasing -Wall -Wno-comment -DWIN +32 -D_CONS OLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLI +CIT_SYS -D USE_PERLIO -DPERL_MSVCRT_READFIX -DVERSION=\"1.18\" -DXS_VERSION= +\"1.18\" - DHASATTRIBUTE "-ID:\PXPerl\lib\CORE" -DPERL_EXT Util.c Running Mkbootstrap for List::Util () D:\PXPerl\bin\perl.exe -Iinc -MExtUtils::Command -e chmod 644 +Util.bs D:\PXPerl\bin\perl.exe -Iinc -MExtUtils::Mksymlists -e "Mksym +lists('NAM E'=>\"List::Util\", 'DLBASE' => 'Util', 'DL_FUNCS' => { }, 'FUNCLIST' + => [], 'I MPORTS' => { }, 'DL_VARS' => []);" dlltool --def Util.def --output-exp dll.exp gcc -o blib\arch\auto\List\Util\Util.dll -Wl,--base-file -Wl,d +ll.base -m dll -s -LD:\PXPerl\lib\CORE Util.o -Wl,--image-base,0x7b100000 D:\PXP +erl\lib\CO RE\libperl58.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcom +dlg32 -lad vapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr - +lwinmm -lv ersion -lodbc32 -lodbccp32 -lshlwapi -lstdc++ dll.exp Util.o(.text+0x1f60): In function `XS_List__Util_shuffle': D:/PXPerl/.cpan/build/Scalar-List-Utils-1.18/Util.xs:333: undefined re +ference to `Perl_seed' NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code + '0x1' Stop. nmake -- NOT OK Running make test Can't test without successful make
I'll repeat the essential line, as it's drowning in the sea of verbosity:
D:/PXPerl/.cpan/build/Scalar-List-Utils-1.18/Util.xs:333: undefined re +ference to `Perl_seed'
I believe this is one of the functions from perl58.lib that is supposed to be available for the linker, but for some reason, it isn't. I've seen the same behaviour, for different symbols, in other modules. What's really weird is that this module, obviously, builds succesfully on other platforms. So, what's going on?

I've tried the same test build on ActivePerl 5.8.8 with MinGW. (Yes I know ActivePerl 5.8.8 comes with Scalar-List-Utils-1.18. This is just a test, mmmkay?) Now the results there are really puzzling.

CPAN.pm: Going to build G/GB/GBARR/Scalar-List-Utils-1.18.tar.gz Undefined subroutine &ActivePerl::Config::find_prog called at C:/Perl/ +site/lib/A ctivePerl/Config.pm line 70. Compilation failed in require at C:/Perl/lib/ExtUtils/MakeMaker.pm lin +e 7. BEGIN failed--compilation aborted at C:/Perl/lib/ExtUtils/MakeMaker.pm + line 7. Compilation failed in require at inc/Module/Install/Can.pm - /home/gba +rr/perl/Mo dule/Install/Can.pm line 8. BEGIN failed--compilation aborted at inc/Module/Install/Can.pm - /home +/gbarr/per l/Module/Install/Can.pm line 8. Compilation failed in require at inc/Module/Install.pm - /home/gbarr/p +erl/Module /Install.pm line 267. The 'can_cc' method does not exist in the 'inc' path! Please remove the 'inc' directory and run Makefile.PL again to load it +. Running make test Make had some problems, maybe interrupted? Won't test cpan>
WTF? I've checked ActivePerl::Config, line 70 is
if ($^O eq "MSWin32" && !find_prog(_orig_conf("cc"))) {
and further up, it contains the line
use ActiveState::Path qw(find_prog realpath);
In ActiveState::Path, find_prog is a plain and simple Perl sub. Both these modules seem to work normally, when I invoke them from the command line. Nothing weird in either. Neither depend on the module that I'm trying to build, which could have been a possible explanation. And yes, other XS modules appear to build normally.

I'd like some hints as to what is going on, and maybe get some help to construct proper bug reports.


In reply to Weird problems building Scalar-List-Utils-1.18 on Win32+MinGW by bart

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.