Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ALL_STATIC build is broken on MSVC #16484

Closed
p5pRT opened this issue Mar 28, 2018 · 11 comments
Closed

ALL_STATIC build is broken on MSVC #16484

p5pRT opened this issue Mar 28, 2018 · 11 comments

Comments

@p5pRT
Copy link

@p5pRT p5pRT commented Mar 28, 2018

Migrated from rt.perl.org#133039 (status was 'resolved')

Searchable as RT133039$

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Mar 28, 2018

From @dur-randir

Created by @dur-randir

  link -out​:..\..\lib\auto\Storable\Storable.dll -dll -nologo
-nodefaultlib -debug -opt​:ref,icf -ltcg -libpath​:"c
:\perl\lib\CORE" -machine​:AMD64 Storable.obj
"..\..\lib\CORE\perl527.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​:Storable.def
  Creating library ..\..\lib\auto\Storable\Storable.lib and object
..\..\lib\auto\Storable\Storable.exp
Storable.obj : error LNK2001​: unresolved external symbol PL_sv_placeholder
..\..\lib\auto\Storable\Storable.dll : fatal error LNK1120​: 1
unresolved externals
NMAKE : fatal error U1077​: '"C​:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin
\HostX64\x64\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077​: 'cd' : return code '0x2'
Stop.

This was a VS 2017 build for x64 bit target with BUILD_STATIC and
ALL_STATIC set to 'define'.

Perl Info

Flags:
    category=library
    severity=medium
    module=Storable

Site configuration information for perl 5.27.11:

Configured by dur-randir at Wed Mar 28 21:34:55 2018.

Summary of my perl5 (revision 5 version 27 subversion 11) configuration:
  Derived from: 5936215e10866527b33d0ff25a1aa68b6f407959
  Platform:
    osname=MSWin32
    osvers=6.1.7601
    archname=MSWin32-x64-multi-thread
    uname=''
    config_args='undef'
    hint=recommended
    useposix=true
    d_sigaction=undef
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=undef
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cl'
    ccflags ='-nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL -fp:precise
-DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
-D_WINSOCK_DEPRECATED_NO_WARNINGS  -DPERL_TEXTMODE_SCRIPTS
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS'
    optimize='-O1 -MD -Zi -DNDEBUG -GL -fp:precise'
    cppflags='-DWIN32'
    ccversion='19.10.25017'
    gccversion=''
    gccosandvers=''
    intsize=4
    longsize=4
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=undef
    longlongsize=8
    d_longdbl=define
    longdblsize=8
    longdblkind=0
    ivtype='__int64'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='__int64'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='link'
    ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -ltcg
-libpath:"c:\perl\lib\CORE"  -machine:AMD64'
    libpth="C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.10.25017\\lib\x64"
    libs=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
    perllibs=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
    libc=ucrt.lib
    so=dll
    useshrplib=true
    libperl=perl527.lib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs
    dlext=dll
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg
-libpath:"c:\perl\lib\CORE"  -machine:AMD64'



@INC for perl 5.27.11:
    C:\perl-git-false\lib
    C:\perl-git-false\cpan\AutoLoader\lib
    C:\perl-git-false\dist\Carp\lib
    C:\perl-git-false\dist\PathTools
    C:\perl-git-false\dist\PathTools\lib
    C:\perl-git-false\cpan\ExtUtils-Install\lib
    C:\perl-git-false\cpan\ExtUtils-MakeMaker\lib
    C:\perl-git-false\cpan\ExtUtils-Manifest\lib
    C:\perl-git-false\cpan\File-Path\lib
    C:\perl-git-false\ext\re
    C:\perl-git-false\dist\Term-ReadLine\lib
    C:\perl-git-false\dist\Exporter\lib
    C:\perl-git-false\ext\File-Find\lib
    C:\perl-git-false\cpan\Text-Tabs\lib
    C:\perl-git-false\dist\constant\lib
    C:\perl-git-false\cpan\version\lib
    C:\perl-git-false\cpan\Text-ParseWords\lib
    C:\perl-git-false\dist\ExtUtils-ParseXS\lib
    C:\perl-git-false\cpan\Getopt-Long\lib
    C:\perl-git-false\cpan\parent\lib
    C:\perl-git-false\cpan\ExtUtils-Constant\lib


Environment for perl 5.27.11:
    HOME (unset)
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64;C:\Program
Files (x86)\Microsoft Visual
Studio\2017\Community\Common7\IDE\VC\VCPackages;C:\Program Files
(x86)\Microsoft SDKs\TypeScript\2.1;C:\Program Files (x86)\Microsoft
Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program
Files (x86)\Microsoft Visual
Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team
Explorer;C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\MSBuild\15.0\bin\Roslyn;C:\Program Files
(x86)\Microsoft Visual Studio\2017\Community\Team Tools\Performance
Tools;C:\Program Files (x86)\Microsoft Visual
Studio\Shared\Common\VSPerfCollectionTools\;C:\Program Files
(x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\;C:\Program
Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\;C:\Program Files
(x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows
Kits\10\bin\10.0.14393.0\x64;C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\\MSBuild\15.0\bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program
Files (x86)\Microsoft Visual
Studio\2017\Community\Common7\IDE\;C:\Program Files (x86)\Microsoft
Visual Studio\2017\Community\Common7\Tools\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\perl\bin;C:\Program
Files (x86)\AMD\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows
Kits\10\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL
Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft
SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL
Server\120\Tools\Binn\;C:\Program
Files\Git\cmd;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files\PowerShell\6.0.1\;
    PERL_BADLANG (unset)
    SHELL (unset)

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 2, 2018

From @bulk88

On Wed, 28 Mar 2018 11​:47​:17 -0700, randir wrote​:

This is a bug report for perl from sergey.aleynikov@​gmail.com,
generated with the help of perlbug 1.41 running under perl 5.27.11.

-----------------------------------------------------------------
[Please describe your issue here]

link -out​:..\..\lib\auto\Storable\Storable.dll -dll -nologo
-nodefaultlib -debug -opt​:ref,icf -ltcg -libpath​:"c
:\perl\lib\CORE" -machine​:AMD64 Storable.obj
"..\..\lib\CORE\perl527.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​:Storable.def
Creating library ..\..\lib\auto\Storable\Storable.lib and object
..\..\lib\auto\Storable\Storable.exp
Storable.obj : error LNK2001​: unresolved external symbol
PL_sv_placeholder
..\..\lib\auto\Storable\Storable.dll : fatal error LNK1120​: 1
unresolved externals
NMAKE : fatal error U1077​: '"C​:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin
\HostX64\x64\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077​: 'cd' : return code '0x2'
Stop.

This was a VS 2017 build for x64 bit target with BUILD_STATIC and
ALL_STATIC set to 'define'.

I have this problem also. So far AFAIK the problem is https://rt.perl.org/Public/Bug/Display.html?id=127743 work, made


sub depend {
+ my $extra_deps = "";
+ unless ($ENV{PERL_CORE}) {
+ # blib.pm needs arch/lib
+ $extra_deps = ' Storable.pm';
+ }
  "
-stacksize​: Makefile \$(LINKEXT)
+lib/Storable/Limit.pm : \$(INST_DYNAMIC)$extra_deps
+ \$(MKPATH) \$(INST_LIB)
  \$(PERLRUNINST) stacksize


https://perl5.git.perl.org/perl.git/commitdiff/c0e3b4b51cabf15ed8fc5f564dfeea31c25f5239

made Limit.pm depend on a Storable.so/Storable.dll file, which is now being built while none of the other modules build .dlls, they only build a "extralibs.ld" and "Foo.lib" file because this is a static perl, not shared lib perl. Because of EUMM​::MM_Win32.pm, in the storable makefile, EUMM adds -DPERLDLL to CCFLAGS/CC cmd line if its "static" perl, but that causes the VC CC to assume all global data vars are INSIDE the same .dll, and generate such machine code, but we are building Storable as a DLL on static perl, and because of Win32 PE/binary arch details, global DATA vars have different machine code on if they are inside the same DLL (load register with data at abs constant pointer to inside same DLL aka var = *(int*)0x1234) vs an external DLL (load register with pointer from absolute pointer to inside same DLL (read import table), load register from pointer loaded in register aka var = **(int**)0x1234), so it doesn't link. Win32 C functions, if they aren't aware the function call is outside the same DLL (no declspec dllimport prototype), the CC/linker will link them to to mini jump stub functions that leave the same DLL to another DLL. The jump stubs also allow const function pointers to exist to C functions from other DLL. THe CC takes addr of the jump stub inside the same DLL, not the func ptr in the import table pointing to another DLL at a random other address in the process. If I remove the -DPERLDLL by hand from the storable makefile, I can compile a storable.dll on static perl. Removing PERLDLL probably isn't the solution since then you will probably break compiling the static perl and the storable.a/storable.lib that goes inside the static perl binary.

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 2, 2018

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 2, 2018

From @bulk88

On Sun, 01 Apr 2018 18​:53​:00 -0700, bulk88 wrote​:

I have this problem also. So far AFAIK the problem is
https://rt.perl.org/Public/Bug/Display.html?id=127743

Does this patch fix the problem? It did for me when I reproduced the PL_sv_placeholder link failure.

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 2, 2018

From @bulk88

0001-RT-133039-dont-build-a-Storable.so-.dll-with-a-stati.patch
From 22e31f20734ef552f2ca625d0e173c0e13eaaa7c Mon Sep 17 00:00:00 2001
From: Daniel Dragan <bulk88@hotmail.com>
Date: Mon, 2 Apr 2018 10:49:54 -0400
Subject: [PATCH] RT #133039 dont build a Storable.so/.dll with a static perl
 build

All static perls aren't capable of making shared libs that will never
execute anyways. Commit c0e3b4b51c make Limit.pm depend on Storable.so/.dll
which isnt supposed to exist in a static build but the EUMM makefile still
has enough logic/targets defined that "dynamic ext on static perl" will
probably generate a disk file to satisfy that target (execution is another
story). Except on Win32, where global data vars must be declared in C if
they are stored inside or outside the DLL where the reference will be made.
PL_sv_placeholder is one such var. On no-threads static win32 Perl I assume
even more breakage and missing symbol warnings.

Fix the problem by making sure the .a/.lib and perlstatic.exe or .so/.dll
are built respectfully before running stacksize.pl.

I also noticed dist/Storable/lib was untracked and unignored, so put it
on ignore list because it is a build product.

See more details in #133039.

Related to RT #127743
---
 dist/Storable/.gitignore  | 1 +
 dist/Storable/Makefile.PL | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dist/Storable/.gitignore b/dist/Storable/.gitignore
index acf5f9a..de731b9 100644
--- a/dist/Storable/.gitignore
+++ b/dist/Storable/.gitignore
@@ -1 +1,2 @@
 /Storable.pm
+/lib
diff --git a/dist/Storable/Makefile.PL b/dist/Storable/Makefile.PL
index 4e9c650..ed53816 100644
--- a/dist/Storable/Makefile.PL
+++ b/dist/Storable/Makefile.PL
@@ -43,7 +43,7 @@ WriteMakefile(
                            },
     ) : ()),
     dist                => { SUFFIX => 'gz', COMPRESS => 'gzip -f' },
-    clean               => { FILES => 'Storable-* Storable.pm lib/Storable/Limit.pm' },
+    clean               => { FILES => 'Storable-* Storable.pm lib' },
 );
 
 # Unlink the .pm file included with the distribution
@@ -89,9 +89,10 @@ sub depend {
         # blib.pm needs arch/lib
         $extra_deps = ' Storable.pm';
     }
+    my $linktype = uc($_[0]->{LINKTYPE});
     my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm');
     "
-$limit_pm : stacksize \$(INST_DYNAMIC)$extra_deps
+$limit_pm : stacksize \$(INST_$linktype)$extra_deps
 	\$(MKPATH) \$(INST_LIB)
 	\$(FULLPERLRUNINST) stacksize $options
 
-- 
2.5.0.windows.1

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 2, 2018

From @dur-randir

On Mon, 02 Apr 2018 08​:09​:16 -0700, bulk88 wrote​:

Does this patch fix the problem? It did for me when I reproduced the
PL_sv_placeholder link failure.

Yes, it fixed it for me too.

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 3, 2018

From @tonycoz

On Mon, 02 Apr 2018 08​:09​:16 -0700, bulk88 wrote​:

On Sun, 01 Apr 2018 18​:53​:00 -0700, bulk88 wrote​:

I have this problem also. So far AFAIK the problem is
https://rt.perl.org/Public/Bug/Display.html?id=127743

Does this patch fix the problem? It did for me when I reproduced the
PL_sv_placeholder link failure.

Fixed it for me, thanks, applied as f4e3105.

Tony

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 3, 2018

@tonycoz - Status changed from 'open' to 'pending release'

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Apr 3, 2018

From @bulk88

Some details I forgot to post, for historical reasons.

BEFORE

Generating a gmake-style Makefile
Writing Makefile for Storable
gmake[1]​: Entering directory 'C​:/perl521/srcnew/dist/Storable'
"..\..\miniperl.exe" "-I..\..\lib" Storable.pm.PL
"..\..\miniperl.exe" "-I..\..\lib" "..\..\lib\ExtUtils/xsubpp" -typemap C​:\perl
521\srcnew\lib\ExtUtils\typemap Storable.xs > Storable.xsc
C​:\perl521\srcnew\miniperl.exe "-I..\..\lib" -MExtUtils​::Command -e mv -- Storab
le.xsc Storable.c
cl -c -nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL -DWIN32 -D_CONSOLE -DNO_STRICT
-DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DWIN32_NO_R
EGISTRY -DUSE_PERLIO -D_USE_32BIT_TIME_T -DPERLDLL -O1 -MD -Zi -DNDEBUG -GL -D
VERSION=\"3.06\" -DXS_VERSION=\"3.06\" "-I..\..\lib\CORE" Storable.c
Storable.c
C​:\perl521\srcnew\miniperl.exe "-I..\..\lib" -MExtUtils​::Command -e rm_f -- "..\
..\lib\auto\Storable\Storable.lib"
lib -ltcg -out​:..\..\lib\auto\Storable\Storable.lib Storable.obj
Microsoft (R) Library Manager Version 7.10.6030
Copyright (C) Microsoft Corporation. All rights reserved.

C​:\perl521\srcnew\miniperl.exe "-I..\..\lib" -MExtUtils​::Command -e chmod -- 755
..\..\lib\auto\Storable\Storable.lib
gmake[1]​: Leaving directory 'C​:/perl521/srcnew/dist/Storable'
gmake[1]​: Entering directory 'C​:/perl521/srcnew/ext/Sys-Hostname'
gmake[1]​: Leaving directory 'C​:/perl521/srcnew/ext/Sys-Hostname'
***********CUT***more modules and static perl gets linked together***********
gmake -C ..\dist\Storable lib\Storable\Limit.pm
gmake[1]​: Entering directory 'C​:/perl521/srcnew/dist/Storable'
"..\..\miniperl.exe" "-I..\..\lib" -MExtUtils​::Mksymlists \
  -e "Mksymlists('NAME'=>\"Storable\", 'DLBASE' => 'Storable', 'DL_FUNCS' =>
{ }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
link -out​:..\..\lib\auto\Storable\Storable.dll -dll -nologo -nodefaultlib -debug
-opt​:ref,icf -ltcg -libpath​:"c​:\perl\lib\CORE" -machine​:x86 Storable.obj "..\
..\lib\CORE\perl527.lib" oldnames.lib kernel32.lib user32.lib gdi32.lib winspool
.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib u
uid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl3
2.lib msvcrt.lib -def​:Storable.def
  Creating library ..\..\lib\auto\Storable\Storable.lib and object ..\..\lib\au
to\Storable\Storable.exp
Storable.obj : error LNK2001​: unresolved external symbol _PL_sv_placeholder
..\..\lib\auto\Storable\Storable.dll : fatal error LNK1120​: 1 unresolved externa
ls
makefile​:486​: recipe for target '..\..\lib\auto\Storable\Storable.dll' failed
gmake[1]​: *** [..\..\lib\auto\Storable\Storable.dll] Error 1120
gmake[1]​: Leaving directory 'C​:/perl521/srcnew/dist/Storable'
GNUmakefile​:1618​: recipe for target '..\lib\Storable\Limit.pm' failed
gmake​: *** [..\lib\Storable\Limit.pm] Error 2

AFTER

Generating a gmake-style Makefile
Writing Makefile for Storable
gmake[1]​: Entering directory 'C​:/perl521/srcnew/dist/Storable'
"..\..\miniperl.exe" "-I..\..\lib" Storable.pm.PL
"..\..\miniperl.exe" "-I..\..\lib" "..\..\lib\ExtUtils/xsubpp" -typemap C​:\perl
521\srcnew\lib\ExtUtils\typemap Storable.xs > Storable.xsc
C​:\perl521\srcnew\miniperl.exe "-I..\..\lib" -MExtUtils​::Command -e mv -- Storab
le.xsc Storable.c
cl -c -nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL -DWIN32 -D_CONSOLE -DNO_STRICT
-DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DWIN32_NO_R
EGISTRY -DUSE_PERLIO -D_USE_32BIT_TIME_T -DPERLDLL -O1 -MD -Zi -DNDEBUG -GL -D
VERSION=\"3.06\" -DXS_VERSION=\"3.06\" "-I..\..\lib\CORE" Storable.c
Storable.c
C​:\perl521\srcnew\miniperl.exe "-I..\..\lib" -MExtUtils​::Command -e rm_f -- "..\
..\lib\auto\Storable\Storable.lib"
lib -ltcg -out​:..\..\lib\auto\Storable\Storable.lib Storable.obj
Microsoft (R) Library Manager Version 7.10.6030
Copyright (C) Microsoft Corporation. All rights reserved.

C​:\perl521\srcnew\miniperl.exe "-I..\..\lib" -MExtUtils​::Command -e chmod -- 755
..\..\lib\auto\Storable\Storable.lib
gmake[1]​: Leaving directory 'C​:/perl521/srcnew/dist/Storable'
gmake[1]​: Entering directory 'C​:/perl521/srcnew/ext/Sys-Hostname'
gmake[1]​: Leaving directory 'C​:/perl521/srcnew/ext/Sys-Hostname'
***********CUT***more modules and static perl gets linked together***********
gmake -C ..\dist\Storable lib\Storable\Limit.pm
gmake[1]​: Entering directory 'C​:/perl521/srcnew/dist/Storable'
C​:\perl521\srcnew\miniperl.exe "-I..\..\lib" -MExtUtils​::Command -e mkpath -- ..
\..\lib
"..\..\perl.exe" "-I..\..\lib" "-I..\..\lib" stacksize --core
probe for max. stack sizes...
Storable​: determining recursion limit​: 65000 too big, try less 32550 ...
Storable​: determining recursion limit​: 32550 too big, try less 16325 ...
Storable​: determining recursion limit​: 16325 too big, try less 8213 ...
Storable​: determining recursion limit​: 8213 too big, try less 4157 ...
Storable​: determining recursion limit​: 4157 passed, try more 6185 ...
Storable​: determining recursion limit​: 6185 passed, try more 7199 ...
Storable​: determining recursion limit​: 7199 too big, try less 6692 ...
Storable​: determining recursion limit​: 6692 passed, try more 6945 ...
Storable​: determining recursion limit​: 6945 too big, try less 6819 ...
Storable​: determining recursion limit​: 6819 too big, try less 6756 ...
Storable​: determining recursion limit​: 6756 passed, try more 6787 ...
Storable​: determining recursion limit​: 6787 passed, try more 6803 ...
Storable​: determining recursion limit​: 6803 passed, try more 6811 ...
Storable​: determining recursion limit​: 6811 passed, try more 6815 ...
Storable​: determining recursion limit​: 6815 too big, try less 6813 ...
Storable​: determining recursion limit​: 6813 passed, try more 6814 ...
Storable​: determining recursion limit​: 6814 passed, try more 6814 ...
MAX_DEPTH = 6814
Storable​: determining recursion limit​: 3000 passed, try more 3000 ...
MAX_DEPTH_HASH = 3000
gmake[1]​: Leaving directory 'C​:/perl521/srcnew/dist/Storable'
if not exist ..\lib\Storable mkdir ..\lib\Storable
copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
  1 file(s) copied.

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Jun 23, 2018

From @khwilliamson

Thank you for filing this report. You have helped make Perl better.

With the release yesterday of Perl 5.28.0, this and 185 other issues have been
resolved.

Perl 5.28.0 may be downloaded via​:
https://metacpan.org/release/XSAWYERX/perl-5.28.0

If you find that the problem persists, feel free to reopen this ticket.

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Jun 23, 2018

@khwilliamson - Status changed from 'pending release' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant