On Tue Jun 14 05:22:21 2016, davem@iabyn.com wrote:
Show quoted text>
> Since bleadperl was upgraded to EU::MM 7.18 on May 24, our mswin32 has
> been failing these tests:
>
> ../cpan/ExtUtils-MakeMaker/t/02-xsdynamic.t.................FAILED
> 17, 22, 35, 40
> Non-zero exit status: 4
>
> See
http://nntp.perl.org/group/perl.perl5.porters/237169, which links
> to a
> log file that contains:
>
> # Creating library blib\arch\auto\XS\Other\Other.lib and object
> blib\arch\auto\XS\Other\Other.exp
> # Other.obj : error LNK2001: unresolved external symbol
> _PL_markstack_ptr
> # Other.obj : error LNK2001: unresolved external symbol _PL_stack_sp
> # Other.obj : error LNK2001: unresolved external symbol _PL_tainted
> # Other.obj : error LNK2001: unresolved external symbol _PL_op
> # Other.obj : error LNK2001: unresolved external symbol _PL_curpad
> # Other.obj : error LNK2001: unresolved external symbol _PL_stack_base
> # blib\arch\auto\XS\Other\Other.dll : fatal error LNK1120: 6
> unresolved externals
> # NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
> Studio 8\VC\BIN\link.EXE"' : return code '0x460'
This appears to be limited to unthreaded builds, eg if I build perl with:
gmake CCTYPE=MSVC142 USE_MULTI=undef USE_ITHREADS=undef USE_IMP_SYS=undef test
Here's the full trace from the first failure:
not ok 17 - "gmake" test LINKTYPE=dynamic exited normally
# Failed test '"gmake" test LINKTYPE=dynamic exited normally'
# at lib/MakeMaker/Test/Setup/XS.pm line 462.
# got: '512'
# expected: '0'
# Skip blib\lib\XS\Test.pm (unchanged)
# gmake[1]: Entering directory 'C:/Users/Tony/dev/perl/git/perl/cpan/ExtUtils-MakeMaker/t/XS-TestsubdirsstaticLINKTYPEdynamic/Other'
# Skip ..\blib\lib\XS\Other.pm (unchanged)
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" "..\..\..\..\..\lib\ExtUtils/xsubpp" -typemap C:\Users\Tony\dev\perl\git\perl\lib\ExtUtils\typemap Other.xs > Other.xsc
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" -MExtUtils::Command -e mv -- Other.xsc Other.c
# cl -c -nologo -GF -W3 -MD -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DPERL_TEXTMODE_SCRIPTS -DUSE_PERLIO -DPERLDLL -O1 -Zi -GL -fp:precise -DVERSION=\"1.2\" -DXS_VERSION=\"1.2\" "-I..\..\..\..\..\lib\CORE" -DINVAR=input -FdOther.pdb Other.c
# Other.c
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2176): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2251): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2295): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" -MExtUtils::Command -e rm_f -- "..\blib\arch\auto\XS\Other\Other.lib"
# lib -ltcg -out:..\blib\arch\auto\XS\Other\Other.lib Other.obj
# Microsoft (R) Library Manager Version 14.23.28106.4
# Copyright (C) Microsoft Corporation. All rights reserved.
#
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" -MExtUtils::Command -e chmod -- 755 ..\blib\arch\auto\XS\Other\Other.lib
# gmake[1]: Leaving directory 'C:/Users/Tony/dev/perl/git/perl/cpan/ExtUtils-MakeMaker/t/XS-TestsubdirsstaticLINKTYPEdynamic/Other'
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" "..\..\..\..\lib\ExtUtils/xsubpp" -typemap C:\Users\Tony\dev\perl\git\perl\lib\ExtUtils\typemap -typemap "C:\Users\Tony\dev\perl\git\perl\cpan\ExtUtils-MakeMaker\t\XS-TestsubdirsstaticLINKTYPEdynamic\type map" Test.xs > Test.xsc
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e mv -- Test.xsc Test.c
# cl -c -nologo -GF -W3 -MD -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DPERL_TEXTMODE_SCRIPTS -DUSE_PERLIO -DPERLDLL -O1 -Zi -GL -fp:precise -DVERSION=\"1.01\" -DXS_VERSION=\"1.01\" "-I..\..\..\..\lib\CORE" -DINVAR=input -FdTest.pdb Test.c
# Test.c
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2176): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2251): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2295): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e rm_f -- "blib\arch\auto\XS\Test\Test.lib"
# lib -ltcg -out:blib\arch\auto\XS\Test\Test.lib Test.obj
# Microsoft (R) Library Manager Version 14.23.28106.4
# Copyright (C) Microsoft Corporation. All rights reserved.
#
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\XS\Test\Test.lib
#
# Running Mkbootstrap for Test ()
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e chmod -- 644 "Test.bs"
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command::MM -e cp_nonempty -- Test.bs blib\arch\auto\XS\Test\Test.bs 644
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Mksymlists \
# -e "Mksymlists('NAME'=>\"XS::Test\", 'DLBASE' => 'Test', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
# link -out:blib\arch\auto\XS\Test\Test.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg -libpath:"c:\perl\lib\CORE" -machine:AMD64 -subsystem:console,"5.02" Test.obj "..\..\..\..\lib\CORE\perl531.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 comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib -def:Test.def
# Creating library blib\arch\auto\XS\Test\Test.lib and object blib\arch\auto\XS\Test\Test.exp
# Test.obj : error LNK2001: unresolved external symbol PL_curpad
not ok 17 - "gmake" test LINKTYPE=dynamic exited normally
# Failed test '"gmake" test LINKTYPE=dynamic exited normally'
# at lib/MakeMaker/Test/Setup/XS.pm line 462.
# got: '512'
# expected: '0'
# Skip blib\lib\XS\Test.pm (unchanged)
# gmake[1]: Entering directory 'C:/Users/Tony/dev/perl/git/perl/cpan/ExtUtils-MakeMaker/t/XS-TestsubdirsstaticLINKTYPEdynamic/Other'
# Skip ..\blib\lib\XS\Other.pm (unchanged)
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" "..\..\..\..\..\lib\ExtUtils/xsubpp" -typemap C:\Users\Tony\dev\perl\git\perl\lib\ExtUtils\typemap Other.xs > Other.xsc
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" -MExtUtils::Command -e mv -- Other.xsc Other.c
# cl -c -nologo -GF -W3 -MD -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DPERL_TEXTMODE_SCRIPTS -DUSE_PERLIO -DPERLDLL -O1 -Zi -GL -fp:precise -DVERSION=\"1.2\" -DXS_VERSION=\"1.2\" "-I..\..\..\..\..\lib\CORE" -DINVAR=input -FdOther.pdb Other.c
# Other.c
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2176): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2251): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2295): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" -MExtUtils::Command -e rm_f -- "..\blib\arch\auto\XS\Other\Other.lib"
# lib -ltcg -out:..\blib\arch\auto\XS\Other\Other.lib Other.obj
# Microsoft (R) Library Manager Version 14.23.28106.4
# Copyright (C) Microsoft Corporation. All rights reserved.
#
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\..\lib" -MExtUtils::Command -e chmod -- 755 ..\blib\arch\auto\XS\Other\Other.lib
# gmake[1]: Leaving directory 'C:/Users/Tony/dev/perl/git/perl/cpan/ExtUtils-MakeMaker/t/XS-TestsubdirsstaticLINKTYPEdynamic/Other'
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" "..\..\..\..\lib\ExtUtils/xsubpp" -typemap C:\Users\Tony\dev\perl\git\perl\lib\ExtUtils\typemap -typemap "C:\Users\Tony\dev\perl\git\perl\cpan\ExtUtils-MakeMaker\t\XS-TestsubdirsstaticLINKTYPEdynamic\type map" Test.xs > Test.xsc
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e mv -- Test.xsc Test.c
# cl -c -nologo -GF -W3 -MD -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DPERL_TEXTMODE_SCRIPTS -DUSE_PERLIO -DPERLDLL -O1 -Zi -GL -fp:precise -DVERSION=\"1.01\" -DXS_VERSION=\"1.01\" "-I..\..\..\..\lib\CORE" -DINVAR=input -FdTest.pdb Test.c
# Test.c
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2176): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2251): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# C:\Users\Tony\dev\perl\git\perl\lib\CORE\inline.h(2295): warning C4244: '=': conversion from '__int64' to 'I32', possible loss of data
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e rm_f -- "blib\arch\auto\XS\Test\Test.lib"
# lib -ltcg -out:blib\arch\auto\XS\Test\Test.lib Test.obj
# Microsoft (R) Library Manager Version 14.23.28106.4
# Copyright (C) Microsoft Corporation. All rights reserved.
#
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\XS\Test\Test.lib
#
# Running Mkbootstrap for Test ()
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command -e chmod -- 644 "Test.bs"
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Command::MM -e cp_nonempty -- Test.bs blib\arch\auto\XS\Test\Test.bs 644
# "C:\Users\Tony\dev\perl\git\perl\t\perl.exe" -w "-I..\..\..\..\lib" -MExtUtils::Mksymlists \
# -e "Mksymlists('NAME'=>\"XS::Test\", 'DLBASE' => 'Test', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
# link -out:blib\arch\auto\XS\Test\Test.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg -libpath:"c:\perl\lib\CORE" -machine:AMD64 -subsystem:console,"5.02" Test.obj "..\..\..\..\lib\CORE\perl531.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 comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib -def:Test.def
# Creating library blib\arch\auto\XS\Test\Test.lib and object blib\arch\auto\XS\Test\Test.exp
# Test.obj : error LNK2001: unresolved external symbol PL_curpad