ITADN

Win32::Pipe build failure under 5.42.2

#291Closedshawnlaffan 创建于 2026-04-02
sp5.42
S
shawnlaffancommented
This is building a patched 0.025 version from strawberryperl.com but the same error occurs with the latest release on CPAN (0.026). It does not occur with SP 5.42.0.1. ``` cpanm -v http://strawberryperl.com/package/kmx/perl-modules-patched/Win32-Pipe-0.025_patched.tar.gz ``` Failing build (in-prep SP 5.42.2.1) ``` Running Mkbootstrap for Pipe () "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "Pipe.bs" "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- Pipe.bs blib\arch\auto\Win32\Pipe\Pipe.bs 644 gcc -c -std=c99 -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -O2 -DVERSION=\"0.025\" -DXS_VERSION=\"0.025\" "-IC:\strawberry\perl\lib\CORE" Cpipe.cpp cc1plus.exe: warning: command-line option '-std=c99' is valid for C/ObjC but not for C++ "C:\strawberry\perl\bin\perl.exe" -IC:\strawberry\perl\lib -IC:\strawberry\perl\lib "C:\strawberry\perl\lib\ExtUtils/xsubpp" -noprototypes -typemap C:\strawberry\perl\lib\ExtUtils\typemap Pipe.xs >xstmp.c && "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- xstmp.c Pipe.cpp Didn't find a 'MODULE ... PACKAGE ... PREFIX' line gcc -c -std=c99 -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -O2 -DVERSION=\"0.025\" -DXS_VERSION=\"0.025\" "-IC:\strawberry\perl\lib\CORE" Pipe.cpp cc1plus.exe: warning: command-line option '-std=c99' is valid for C/ObjC but not for C++ "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::Pipe\", 'DLBASE' => 'Pipe', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" g++ Pipe.def -o blib\arch\auto\Win32\Pipe\Pipe.xs.dll -shared -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" -L"C:\strawberry\c\x86_64-w64-mingw32\lib" -L"C:\strawberry\c\lib\gcc\x86_64-w64-mingw32\13.2.0" Cpipe.o Pipe.o "C:\strawberry\perl\lib\CORE\libperl542.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base C:/strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot export boot_Win32__Pipe: symbol not defined collect2.exe: error: ld returned 1 exit status gmake: *** [makefile:479: blib\arch\auto\Win32\Pipe\Pipe.xs.dll] Error 1 ! Installing https://strawberryperl.com/package/kmx/perl-modules-patched/Win32-Pipe-0.025_patched.tar.gz failed. See C:\strawberry_build\env\AppDataRoaming\.cpanm\work\1775110601.15916\build.log for details. Retry with --force to force install it. ``` Passing build (SP 5.42.0.1) ``` Running Mkbootstrap for Pipe () "C:\perls\5.42.0.1_PDL\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "Pipe.bs" "C:\perls\5.42.0.1_PDL\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- Pipe.bs blib\arch\auto\Win32\Pipe\Pipe.bs 644 gcc -c -std=c99 -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -O2 -DVERSION=\"0.025\" -DXS_VERSION=\"0.025\" "-IC:\perls\5.42.0.1_PDL\perl\lib\CORE" Cpipe.cpp cc1plus.exe: warning: command-line option '-std=c99' is valid for C/ObjC but not for C++ "C:\perls\5.42.0.1_PDL\perl\bin\perl.exe" -IC:\perls\5.42.0.1_PDL\perl\lib -IC:\perls\5.42.0.1_PDL\perl\lib "C:\perls\5.42.0.1_PDL\perl\lib\ExtUtils/xsubpp" -typemap C:\perls\5.42.0.1_PDL\perl\lib\ExtUtils\typemap Pipe.xs >xstmp.c && "C:\perls\5.42.0.1_PDL\perl\bin\perl.exe" -MExtUtils::Command -e mv -- xstmp.c Pipe.cpp Didn't find a 'MODULE ... PACKAGE ... PREFIX' line gcc -c -std=c99 -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -O2 -DVERSION=\"0.025\" -DXS_VERSION=\"0.025\" "-IC:\perls\5.42.0.1_PDL\perl\lib\CORE" Pipe.cpp cc1plus.exe: warning: command-line option '-std=c99' is valid for C/ObjC but not for C++ In file included from Pipe.xs:45: Pipe.xs: In function 'void XS_WIN32__Pipe_Create(PerlInterpreter*, CV*)': cpipe.hpp:7:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 7 | #define ERROR_NAME_TOO_LONG 100, "Pipe Name is too long" | ^~~~~~~~~~~~~~~~~~~~~~~ Pipe.xs:173:23: note: in expansion of macro 'ERROR_NAME_TOO_LONG' 173 | Error(ERROR_NAME_TOO_LONG); | ^~~~~~~~~~~~~~~~~~~ Pipe.xs: In function 'void boot_Win32__Pipe(PerlInterpreter*, CV*)': Pipe.xs:429:22: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 429 | char* file = __FILE__; | ^~~~~~~~ In function 'int Error(int, char*)', inlined from 'void XS_WIN32__Pipe_Create(PerlInterpreter*, CV*)' at Pipe.xs:173:8: Pipe.xs:147:35: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 147 | gszError[ERROR_TEXT_SIZE] = '\0'; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ Pipe.xs: In function 'void XS_WIN32__Pipe_Create(PerlInterpreter*, CV*)': Pipe.xs:48:6: note: at offset 128 into destination object 'gszError' of size 128 48 | char gszError[ERROR_TEXT_SIZE]; | ^~~~~~~~ Pipe.xs: In function 'int Error(int, char*)': Pipe.xs:147:35: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 147 | gszError[ERROR_TEXT_SIZE] = '\0'; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ Pipe.xs:48:6: note: at offset 128 into destination object 'gszError' of size 128 48 | char gszError[ERROR_TEXT_SIZE]; | ^~~~~~~~ "C:\perls\5.42.0.1_PDL\perl\bin\perl.exe" -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::Pipe\", 'DLBASE' => 'Pipe', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" g++.exe Pipe.def -o blib\arch\auto\Win32\Pipe\Pipe.xs.dll -mdll -s -L"C:\perls\5.42.0.1_PDL\perl\lib\CORE" -L"C:\perls\5.42.0.1_PDL\c\lib" Cpipe.o Pipe.o "C:\perls\5.42.0.1_PDL\perl\lib\CORE\libperl542.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base "C:\perls\5.42.0.1_PDL\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\Win32\Pipe\Pipe.xs.dll C:\perls\5420~1.1_P\data\.cpanm\work\1775172931.48444\Win32-Pipe-0.025_patched>gmake test "C:\perls\5.42.0.1_PDL\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- Pipe.bs blib\arch\auto\Win32\Pipe\Pipe.bs 644 ```
关闭于 2026-04-03 27 条评论