develooper Front page | perl.perl5.porters | Postings from February 2020

Re: Scalar-List-Utils 1.54 breaks Win32 builds.

Thread Previous | Thread Next
From:
demerphq
Date:
February 8, 2020 13:45
Subject:
Re: Scalar-List-Utils 1.54 breaks Win32 builds.
Message ID:
CANgJU+VsjYcYK8AvBJa51SW1_tbYbdaA_28cm0YM4BdvTyCMew@mail.gmail.com
On Sat, 8 Feb 2020 at 14:30, sisyphus <sisyphus359@gmail.com> wrote:

> Just an FYI update-type-thingy on this.
> 1.54 didn't break anything that wasn't already broken in 1.53 or 1.52
> (probably even earlier).
> What it did do was to include a corrected t/uniq.t that *exposed* that
> pre-existing failure - which is now fixed in current github
> Dual-Life/Scalar-List-Utils
>
> The CI tests that get run for Dual-Life/Scalar-List-Utils don't (AFAIK)
> test Windows systems.
> How will they detect issues specific to mingw-built Windows perls ?
> The failing test on the Windows smokers has nothing to do with trunc() -
> which is available to mingw-built Windows perls.
>

We have CI set up for the Perl/perl5 repo. It produced this report from
what is called msvc-100-x86:

2020-02-08T03:40:52.1245248Z Writing Makefile for List::Util
2020-02-08T03:40:52.9460670Z Running Mkbootstrap for Util ()
2020-02-08T03:40:52.9935016Z 	D:\a\perl5\perl5\miniperl.exe
"-I..\..\lib" -MExtUtils::Command -e chmod -- 644 "Util.bs"
2020-02-08T03:40:53.0587814Z 	D:\a\perl5\perl5\miniperl.exe
"-I..\..\lib" -MExtUtils::Command::MM -e cp_nonempty -- Util.bs
..\..\lib\auto\List\Util\Util.bs 644
2020-02-08T03:40:53.0846123Z 	"..\..\miniperl.exe" "-I..\..\lib"
"..\..\lib\ExtUtils\xsubpp"  -typemap
D:\a\perl5\perl5\lib\ExtUtils\typemap  ListUtil.xs > ListUtil.xsc
2020-02-08T03:40:53.2576444Z 	D:\a\perl5\perl5\miniperl.exe
"-I..\..\lib" -MExtUtils::Command -e mv -- ListUtil.xsc ListUtil.c
2020-02-08T03:40:53.3084234Z 	cl -c    -nologo -GF -W3 -MD -DWIN32
-D_CONSOLE -DNO_STRICT -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE -DPERL_TEXTMODE_SCRIPTS
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -O1 -Zi -GL
-DVERSION=\"1.54\"  -DXS_VERSION=\"1.54\"  "-I..\..\lib\CORE"
-DPERL_EXT -DNV_MAX_PRECISION=17 -FdListUtil.pdb ListUtil.c
2020-02-08T03:40:53.3185527Z ListUtil.c
2020-02-08T03:40:53.5154183Z ListUtil.xs(218) : warning C4013: 'trunc'
undefined; assuming extern returning int


Notice the above ^^^^^^^.

2020-02-08T03:40:53.5327236Z ListUtil.xs(1263) : warning C4018: '>' :
signed/unsigned mismatch
2020-02-08T03:40:53.5327898Z ListUtil.xs(1272) : warning C4018: '<' :
signed/unsigned mismatch
2020-02-08T03:40:53.5649886Z 	"..\..\miniperl.exe" "-I..\..\lib"
-MExtUtils::Mksymlists  -e "Mksymlists('NAME'=>\"List::Util\",
'DLBASE' => 'Util', 'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' =>
{  }, 'DL_VARS' => []);"
2020-02-08T03:40:53.6075350Z 	link
-out:..\..\lib\auto\List\Util\Util.dll -dll -nologo -nodefaultlib
-debug -opt:ref,icf -ltcg  -libpath:"c:\perl\lib\CORE"  -machine:x86
ListUtil.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 -def:Util.def
2020-02-08T03:40:53.6310882Z    Creating library
..\..\lib\auto\List\Util\Util.lib and object
..\..\lib\auto\List\Util\Util.exp
2020-02-08T03:40:53.6320113Z ListUtil.obj : error LNK2001: unresolved
external symbol _trunc
2020-02-08T03:40:53.6320525Z ..\..\lib\auto\List\Util\Util.dll : fatal
error LNK1120: 1 unresolved externals
2020-02-08T03:40:53.6353998Z NMAKE : fatal error U1077: '"C:\Program
Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\link.EXE"' : return
code '0x460'
2020-02-08T03:40:53.6355296Z Stop.
2020-02-08T03:40:53.8245533Z Running Mkbootstrap for Util ()
2020-02-08T03:40:53.8719715Z 	D:\a\perl5\perl5\miniperl.exe
"-I..\..\lib" -MExtUtils::Command -e chmod -- 644 "Util.bs"
2020-02-08T03:40:53.9334827Z 	D:\a\perl5\perl5\miniperl.exe
"-I..\..\lib" -MExtUtils::Command::MM -e cp_nonempty -- Util.bs
..\..\lib\auto\List\Util\Util.bs 644
2020-02-08T03:40:53.9571238Z 	link
-out:..\..\lib\auto\List\Util\Util.dll -dll -nologo -nodefaultlib
-debug -opt:ref,icf -ltcg  -libpath:"c:\perl\lib\CORE"  -machine:x86
ListUtil.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 -def:Util.def
2020-02-08T03:40:53.9802538Z    Creating library
..\..\lib\auto\List\Util\Util.lib and object
..\..\lib\auto\List\Util\Util.exp
2020-02-08T03:40:53.9812129Z ListUtil.obj : error LNK2001: unresolved
external symbol _trunc
2020-02-08T03:40:53.9812716Z ..\..\lib\auto\List\Util\Util.dll : fatal
error LNK1120: 1 unresolved externals
2020-02-08T03:40:53.9846791Z NMAKE : fatal error U1077: '"C:\Program
Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\link.EXE"' : return
code '0x460'
2020-02-08T03:40:53.9847848Z Stop.
2020-02-08T03:40:53.9857931Z Unsuccessful
make(cpan/Scalar-List-Utils): code=512 at ..\make_ext.pl line 587.
2020-02-08T03:40:53.9881003Z NMAKE : fatal error U1077:
'..\miniperl.exe' : return code '0x2'
2020-02-08T03:40:53.9886505Z Stop.
2020-02-08T03:40:53.9926358Z ##[error]Process completed with exit code 2.
2020-02-08T03:40:53.9989185Z Cleaning up orphan processes
2020-02-08T03:40:54.0451906Z Terminate orphan process: pid (736) (mspdbsrv)


> AFAIK, the trunc() problem surfaces only with older Microsoft Compilers.
> Latest Visual Studio 2019 toolchains provide trunc().
> I know that my MSVC++ 8.0 (and earlier) doesn't provide trunc() ... but I
> don't know when the transition from non-support of trunc() to support of
> trunc() occurred.
> In any case, the problem with tunc() should show up as an NA, not a FAIL.
>

No, it shows up as a failed build that causes PR requests for Perl/perl5 to
show a fail.

See for example:
https://github.com/Perl/perl5/commit/e64cfa3c67ac7a1f97f7fa74bc4e00df2c868bb6/checks?check_suite_id=445611308

The problem was Chris updated the code in Perl/perl5 without doing a PR, or
he would have noticed it broke the build.

cheers,
Yves

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About