Skip Menu |
 

This queue is for tickets about the Scalar-List-Utils CPAN distribution.

Report information
The Basics
Id: 16199
Status: resolved
Priority: 0/
Queue: Scalar-List-Utils

People
Owner: Nobody in particular
Requestors: itatsumaki [...] hotmail.com
ron [...] savage.net.au
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.17
Fixed in: (no value)



Subject: Util.obj : error LNK2001: unresolved external symbol _Perl_seed
Download (untitled) / with headers
text/plain 1.7k
Command: nmake Output: cp lib/List/Util.pm blib\lib\List\Util.pm cp lib/Scalar/Util.pm blib\lib\Scalar\Util.pm D:\Perl\bin\perl.exe -Iinc D:\Perl\lib\ExtUtils\xsubpp -typemap D:\Perl\lib\ExtUtils\typemap Util.xs > Util.xsc && D:\Perl\bin\perl.exe -Iinc -MExtUtils::Command -e mv Util.xsc Util.c cl -c -nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -DNDEBUG -O1 -DVERSION=\"1.18\" -DXS_VERSION=\"1.18\" "-ID:\Perl\lib\CORE" -DPERL_EXT Util.c Util.c Running Mkbootstrap for List::Util () D:\Perl\bin\perl.exe -Iinc -MExtUtils::Command -e chmod 644 Util.bs D:\Perl\bin\perl.exe -Iinc -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"List::Util\", 'DLBASE' => 'Util', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\List\Util\Util.dll -dll -nologo -nodefaultlib -release -libpath:"d:\Perl\lib\CORE" -machine:x86 Util.obj D:\Perl\lib\CORE\perl58.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:Util.def Creating library blib\arch\auto\List\Util\Util.lib and object blib\arch\auto\List\Util\Util.exp Util.obj : error LNK2001: unresolved external symbol _Perl_seed blib\arch\auto\List\Util\Util.dll : fatal error LNK1120: 1 unresolved externals Errors: Microsoft (R) Program Maintenance Utility Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. NMAKE : fatal error U1077: 'link' : return code '0x460' Stop. This is Perl V 5.8.7.
From: Graham Barr <gbarr [...] pobox.com>
Subject: Re: [cpan #16199] Util.obj : error LNK2001: unresolved external symbol _Perl_seed
Date: Sun, 4 Dec 2005 10:18:47 -0600
To: bug-Scalar-List-Utils [...] rt.cpan.org
RT-Send-Cc:
Download (untitled) / with headers
text/plain 160b
Can you please try changing line 315 in Util.xs from #if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <1) to #if (PERL_VERSION < 9) Graham.
Subject: XS Version compiles but doesn't install
Download (untitled) / with headers
text/plain 3.5k
This is Scalar-List-Utils-1.18 on AIX 5.2.0.0 using gcc 4.0.1 and Perl 5.8.7 A pretty detailed debugging session is available here: http://perlmonks.org/?node_id=516322 Briefly, when I install the make appears to go fine, and to make the XS version: $ perl -w Makefile.PL Name "Module::Install::AUTOLOAD" used only once: possible typo at inc/Module/Install.pm - /home/gbarr/perl/Module/Install.pm line 172. Subroutine new redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 29. Subroutine AUTOLOAD redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 47. Subroutine _top redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 58. Subroutine admin redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 69. Subroutine is_admin redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 74. Subroutine DESTROY redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 79. Subroutine new redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 84. Subroutine AUTOLOAD redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 85. Subroutine DESTROY redefined at inc/Module/Install/Base.pm - /home/gbarr/perl/Module/Install/Base.pm line 86. Checking if your kit is complete... Looks good Writing Makefile for List::Util $ make cp lib/List/Util.pm blib/lib/List/Util.pm cp lib/Scalar/Util.pm blib/lib/Scalar/Util.pm /db2blast/Paul/perl5.8.7/bin/perl -Iinc -e 'use ExtUtils::Mksymlists; \ Mksymlists("NAME" => "List::Util", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => []);' /db2blast/Paul/perl5.8.7/bin/perl -Iinc /db2blast/Paul/perl5.8.7/lib/5.8.7/ExtUtils/xsubpp -typemap /db2blast/Paul/perl5.8.7/lib/5.8.7/ExtUtils/typemap Util.xs > Util.xsc && mv Util.xsc Util.c gcc -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGE_FILES -O -DVERSION=\"1.18\" -DXS_VERSION=\"1.18\" "-I/db2blast/Paul/perl5.8.7/lib/5.8.7/aix/CORE" -DPERL_EXT Util.c Running Mkbootstrap for List::Util () chmod 644 Util.bs rm -f blib/arch/auto/List/Util/Util.so gcc -Wl,-bhalt:4 -Wl,-bexpall -Wl,-G -Wl,-bnoentry -lc -L/usr/local/lib Util.o -o blib/arch/auto/List/Util/Util.so \ \ chmod 755 blib/arch/auto/List/Util/Util.so cp Util.bs blib/arch/auto/List/Util/Util.bs chmod 644 blib/arch/auto/List/Util/Util.bs Manifying blib/man3/List::Util.3 Manifying blib/man3/Scalar::Util.3 However, when I test it the XS version doesn't seem to be found: $ make test PERL_DL_NONLAZY=1 /db2blast/Paul/perl5.8.7/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/00version.....ok t/blessed.......ok t/dualvar.......skipped all skipped: dualvar requires XS version t/first.........ok 2/17 skipped: Poor man's MULTICALL can't cope t/isvstring.....skipped all skipped: isvstring requires XS version But when I install it it appears that the XS version (or at least the .so file) is getting installed $ make install Installing /db2blast/Paul/perl5.8.7/lib/5.8.7/aix/auto/List/Util/Util.so Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Writing /db2blast/Paul/perl5.8.7/lib/5.8.7/aix/auto/List/Util/.packlist Appending installation info to /db2blast/Paul/perl5.8.7/lib/5.8.7/aix/perllocal.pod But no matter what the XS code is not seen as available by other programs, as can be seen when I try to install things that depend on weaken, like Graph v0.69.
From: Graham Barr <gbarr [...] pobox.com>
Subject: Re: [cpan #16529] XS Version compiles but doesn't install
Date: Tue, 27 Dec 2005 07:18:24 -0600
To: bug-Scalar-List-Utils [...] rt.cpan.org
RT-Send-Cc:
Download (untitled) / with headers
text/plain 287b
Sorry for the slow reply. It looks like the dynamic loading is failing and so as a fallback it is using the perl-only code. Can you please try changing line 315 in Util.xs from #if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <1) to #if (PERL_VERSION < 9) Graham.
Download (untitled) / with headers
text/plain 260b
On Tue Dec 27 08:19:07 2005, gbarr@pobox.com wrote: The problem occurs just on Win32 and has been fixed in the core. The problem was that the function Perl_seed() wasn't getting exported correctly. I believe that this fix has been merged into 5.8.8-tobe.
Subject: Re: [rt.cpan.org #16199] Util.obj : error LNK2001: unresolved external symbol _Perl_seed
Date: Thu, 19 Jan 2006 11:46:28 -0600 (CST)
To: bug-Scalar-List-Utils [...] rt.cpan.org
From: "Graham Barr" <gbarr [...] pobox.com>
Download (untitled) / with headers
text/plain 646b
On Wed, January 18, 2006 8:54 pm, via RT wrote: Show quoted text
> > <URL: http://rt.cpan.org/Ticket/Display.html?id=16199 > > > On Tue Dec 27 08:19:07 2005, gbarr@pobox.com wrote: > > The problem occurs just on Win32 and has been fixed in the core. The > problem was that the function Perl_seed() wasn't getting exported > correctly. I believe that this fix has been merged into 5.8.8-tobe.
OK, so changing #if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <1) to #if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <8) should be sufficient as that will make perl prior to 5.8.8 call pp_rand the way it always used to Graham.
Subject: Re: [rt.cpan.org #16199] Util.obj : error LNK2001: unresolved external symbol _Perl_seed
Date: Tue, 24 Jan 2006 18:38:34 +1100
To: Graham Barr via RT <bug-Scalar-List-Utils [...] rt.cpan.org>
From: Ron Savage <ron [...] savage.net.au>
Download (untitled) / with headers
text/plain 366b
On Thu, 19 Jan 2006 14:50:06 -0500 (EST), Graham Barr via RT wrote: Hi Graham Show quoted text
V 1.18 does not have the problem, so I guess you can mark this one as Closed. -- Cheers Ron Savage, ron@savage.net.au on 24/01/2006 http://savage.net.au/index.html Let the record show: Microsoft is not an Australian company
Download (untitled) / with headers
text/plain 317b
On Tue Jan 24 02:42:39 2006, ron@savage.net.au wrote: Show quoted text
> V 1.18 does not have the problem, so I guess you can mark this one as > Closed.
Oops - I had this problem in V 1.18 (but NOT in 1.17) on AIX 5.3. I made the change to UTIL.xs and it worked. (see http://tinyurl.com/9uxwk where I bothered CLPMisc about this)
Subject: Re: [rt.cpan.org #16199] Util.obj : error LNK2001: unresolved external symbol _Perl_seed
Date: Wed, 25 Jan 2006 11:32:10 +1100
To: Guest via RT <bug-Scalar-List-Utils [...] rt.cpan.org>
From: Ron Savage <ron [...] savage.net.au>
Download (untitled) / with headers
text/plain 231b
On Tue, 24 Jan 2006 19:23:57 -0500 (EST), Guest via RT wrote: Hi V 1.18 has this #if (PERL_VERSION < 9) for line 315 of Util.xs, so someone has fixed it, right? -- Ron Savage ron@savage.net.au http://savage.net.au/index.html
Subject: Re: [rt.cpan.org #16199] Util.obj : error LNK2001: unresolved external symbol _Perl_seed
Date: Tue, 24 Jan 2006 19:45:31 -0600
To: bug-Scalar-List-Utils [...] rt.cpan.org
From: Graham Barr <gbarr [...] pobox.com>
Download (untitled) / with headers
text/plain 546b
On Jan 24, 2006, at 6:37 PM, ron@savage.net.au via RT wrote: Show quoted text
> > <URL: http://rt.cpan.org/Ticket/Display.html?id=16199 > > > On Tue, 24 Jan 2006 19:23:57 -0500 (EST), Guest via RT wrote: > > Hi > > V 1.18 has this > > #if (PERL_VERSION < 9) > > for line 315 of Util.xs, so someone has fixed it, right?
No, you must have edited that. 1.18 has #if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <1) There is a fix in 5.8.8 so that line will change to #if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <8) Graham.
Download (untitled) / with headers
text/plain 393b
On Tue Dec 27 08:19:07 2005, gbarr@pobox.com wrote: Show quoted text
> Sorry for the slow reply. It looks like the dynamic loading is > failing and so as a fallback it is using the perl-only code. > > Can you please try changing line 315 in Util.xs from > > #if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <1) > > to > > #if (PERL_VERSION < 9)
This worked for me on 5.8.6 cheers, Yves
Fixed in 1.19 (to be released soon)


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.