Closed p5pRT closed 9 years ago
Cygwin builds are failing during the static linking of Win32CORE into perlmain
Generating a Unix-style Makefile Writing Makefile for Win32CORE make[1]: Entering directory '/home/Administrator/repos/perl.git/ext/Win32CORE' make[1]: Leaving directory '/home/Administrator/repos/perl.git/ext/Win32CORE' make[1]: Entering directory '/home/Administrator/repos/perl.git/ext/Win32CORE' gcc -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_FORTIFY_SOURCE=2 -DUSEIMPORTLIB -UUSEIMPORTLIB -O3 -DVERSION=\"0.04\" -DXS_VERSION=\"0.04\" "-I../.." Win32CORE.c rm -rf ../../lib/auto/Win32CORE/Win32CORE.a /usr/bin/ar cr ../../lib/auto/Win32CORE/Win32CORE.a Win32CORE.o && : ../../lib/auto/Win32CORE/Win32CORE.a chmod 755 ../../lib/auto/Win32CORE/Win32CORE.a make[1]: Leaving directory '/home/Administrator/repos/perl.git/ext/Win32CORE' gcc -o perl -Wl\,--enable-auto-import -Wl\,--export-all-symbols -Wl\,--enable-auto-image-base -fstack-protector -L/usr/local/lib perlmain.o -L. -lperl lib/auto/Win32CORE/Win32CORE.a `cat ext.libs` -ldl -lcrypt lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x33): undefined reference to `Perl_newSVnv' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x33): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_newSVnv' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x4b): undefined reference to `Perl_newSVpvn' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x4b): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_newSVpvn' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x5e): undefined reference to `Perl_load_module' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x5e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_load_module' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0xa4): undefined reference to `Perl_block_gimme' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0xa4): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_block_gimme' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x96): undefined reference to `Perl_call_pv' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x96): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_call_pv' collect2: error: ld returned 1 exit status GNUmakefile:371: recipe for target 'perl.exe' failed make: *** [perl.exe] Error 1
Bisection found the offending commit to be:
http://perl5.git.perl.org/perl.git/commitdiff/37611e66dc90407e7e76c2b2d917ff2de6adcd43
And manually running changing the ordering comfirms that the ordering is significant:
Administrator@WALLOON ~/repos/perl.git $ gcc -o perl -Wl\,--enable-auto-import -Wl\,--export-all-symbols -Wl\,--enable-auto-image-base -fstack-protector -L/usr/local/lib perlmain.o -L. -lperl lib/auto/Win32CORE/Win32CORE.a `cat ext.libs` -ldl -lcrypt lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x33): undefined reference to `Perl_newSVnv' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x33): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_newSVnv' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x4b): undefined reference to `Perl_newSVpvn' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x4b): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_newSVpvn' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x5e): undefined reference to `Perl_load_module' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x5e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_load_module' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0xa4): undefined reference to `Perl_block_gimme' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0xa4): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_block_gimme' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x96): undefined reference to `Perl_call_pv' lib/auto/Win32CORE/Win32CORE.a(Win32CORE.o):Win32CORE.c:(.text+0x96): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Perl_call_pv' collect2: error: ld returned 1 exit status
Administrator@WALLOON ~/repos/perl.git $ gcc -o perl -Wl\,--enable-auto-import -Wl\,--export-all-symbols -Wl\,--enable-auto-image-base -fstack-protector -L/usr/local/lib perlmain.o -L. lib/auto/Win32CORE/Win32CORE.a -lperl `cat ext.libs` -ldl -lcrypt
Administrator@WALLOON ~/repos/perl.git $
Many thanks\,
On Sun Nov 09 11:24:19 2014\, chris@bingosnet.co.uk wrote:
Cygwin builds are failing during the static linking of Win32CORE into perlmain
The attached patch fixes cygwin linking for me.
It will need to be tested on os390 too.
Tony
The RT System itself - Status changed from 'new' to 'open'
On Tue Nov 11 21:57:52 2014\, tonyc wrote:
On Sun Nov 09 11:24:19 2014\, chris@bingosnet.co.uk wrote:
Cygwin builds are failing during the static linking of Win32CORE into perlmain
The attached patch fixes cygwin linking for me.
Applied as 6711cb4f90cfacd285b7fabbb5337493678fc628.
It will need to be tested on os390 too.
Discussed this with khw\, and he said it will get tested the next time he rebases.
Tony
@tonycoz - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#123163 (status was 'resolved')
Searchable as RT123163$