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

glibc: ftbfs for ppcle #29106

Closed
pullmoll opened this issue Feb 27, 2021 · 6 comments
Closed

glibc: ftbfs for ppcle #29106

pullmoll opened this issue Feb 27, 2021 · 6 comments

Comments

@pullmoll
Copy link
Member

pullmoll commented Feb 27, 2021

Currently glibc cannot be built for ppcle. When trying to link libc.so the error is:

powerpcle-linux-gnu-gcc -no-pie -Wl,--as-needed    -L/usr/powerpcle-linux-gnu/usr/lib  -shared -static-libgcc -Wl,-O1 -mhard-float -Wl,-z,defs -Wl,-dynamic-linker=/usr/lib32/ld.so.1  -B/builddir/glibc-2.32/build/csu/  -Wl,--version-script=/builddir/glibc-2.32/build/libc.map -Wl,-soname=libc.so.6 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,now -nostdlib -nostartfiles -e __libc_main -L/builddir/glibc-2.32/build -L/builddir/glibc-2.32/build/math -L/builddir/glibc-2.32/build/elf -L/builddir/glibc-2.32/build/dlfcn -L/builddir/glibc-2.32/build/nss -L/builddir/glibc-2.32/build/nis -L/builddir/glibc-2.32/build/rt -L/builddir/glibc-2.32/build/resolv -L/builddir/glibc-2.32/build/mathvec -L/builddir/glibc-2.32/build/support -L/builddir/glibc-2.32/build/crypt -L/builddir/glibc-2.32/build/nptl -Wl,-rpath-link=/builddir/glibc-2.32/build:/builddir/glibc-2.32/build/math:/builddir/glibc-2.32/build/elf:/builddir/glibc-2.32/build/dlfcn:/builddir/glibc-2.32/build/nss:/builddir/glibc-2.32/build/nis:/builddir/glibc-2.32/build/rt:/builddir/glibc-2.32/build/resolv:/builddir/glibc-2.32/build/mathvec:/builddir/glibc-2.32/build/support:/builddir/glibc-2.32/build/crypt:/builddir/glibc-2.32/build/nptl -o /builddir/glibc-2.32/build/libc.so  /builddir/glibc-2.32/build/csu/abi-note.o /builddir/glibc-2.32/build/libc_pic.os.clean /builddir/glibc-2.32/build/elf/interp.os /builddir/glibc-2.32/build/elf/ld.so -lgcc /builddir/glibc-2.32/build/elf/sofini.os
/bin/sh ../scripts/rellns-sh /builddir/glibc-2.32/build/elf/ld.so /builddir/glibc-2.32/build/elf/ld.so.1.new
mv -f /builddir/glibc-2.32/build/elf/ld.so.1.new /builddir/glibc-2.32/build/elf/ld.so.1
/usr/lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: /builddir/glibc-2.32/build/libc_pic.os.clean: in function `iconv_open':
/builddir/glibc-2.32/iconv/iconv_open.c:33: undefined reference to `__stack_chk_guard'
/usr/lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: /builddir/glibc-2.32/build/libc_pic.os.clean: in function `iconv':
/builddir/glibc-2.32/iconv/iconv.c:33: undefined reference to `__stack_chk_guard'
/usr/lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: /builddir/glibc-2.32/build/libc_pic.os.clean: in function `__GI___gconv_open':
/builddir/glibc-2.32/iconv/gconv_open.c:36: undefined reference to `__stack_chk_guard'
/usr/lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: /builddir/glibc-2.32/build/libc_pic.os.clean: in function `find_derivation':
/builddir/glibc-2.32/iconv/gconv_db.c:431: undefined reference to `__stack_chk_guard'
/usr/lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: /builddir/glibc-2.32/build/libc_pic.os.clean: in function `__gconv_compare_alias':
/builddir/glibc-2.32/iconv/gconv_db.c:704: undefined reference to `__stack_chk_guard'
/usr/lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: /builddir/glibc-2.32/build/libc_pic.os.clean:/builddir/glibc-2.32/iconv/gconv_db.c:722: more undefined references to `__stack_chk_guard' follow
collect2: error: ld returned 1 exit status
make[2]: *** [../Makerules:698: /builddir/glibc-2.32/build/libc.so] Error 1
make[2]: Leaving directory '/builddir/glibc-2.32/elf'
make[1]: *** [Makefile:470: elf/subdir_lib] Error 2
make[1]: Leaving directory '/builddir/glibc-2.32'
make: *** [Makefile:9: all] Error 2
=> ERROR: glibc-2.32_1: do_build: 'make ${makejobs}' exited with 2
=> ERROR:   in do_build() at srcpkgs/glibc/template:122

It used to build a couple of weeks ago. Last build here was on 2021-01-18 01:10 CET.

log.txt

@pullmoll
Copy link
Member Author

When trying to build cross-powerpcle-linux-gnu for i686 to see if the problem stems from there this now also fails when linking cc1:

powerpcle-linux-gnu-gcc -Wl,-rpath-link=/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/math:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/elf:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/dlfcn:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/nss:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/nis:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/rt:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/resolv:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/mathvec:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/support:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/crypt:/builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/nptl -nostdlib -nostartfiles -o /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/support/links-dso-program -mhard-float -no-pie -Wl,--as-needed      -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/csu/crt1.o /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/csu/crti.o `powerpcle-linux-gnu-gcc -mhard-float --print-file-name=crtbegin.o` /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/support/links-dso-program.o -lstdc++ -lgcc -lgcc_s  -Wl,-dynamic-linker=/lib/ld.so.1  /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/libc.so.6 /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/libc_nonshared.a -Wl,--as-needed /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/elf/ld.so -Wl,--no-as-needed -lgcc  `powerpcle-linux-gnu-gcc -mhard-float --print-file-name=crtend.o` /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/csu/crtn.o
/builddir/cross-powerpcle-linux-gnu-0.34/build_root/usr/bin/../lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: cannot find -lstdc++
/builddir/cross-powerpcle-linux-gnu-0.34/build_root/usr/bin/../lib/gcc/powerpcle-linux-gnu/10.2.1/../../../../powerpcle-linux-gnu/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make[2]: *** [../Rules:215: /builddir/cross-powerpcle-linux-gnu-0.34/glibc_build/support/links-dso-program] Error 1
make[2]: Leaving directory '/builddir/cross-powerpcle-linux-gnu-0.34/glibc-2.32/support'
make[1]: *** [Makefile:470: support/others] Error 2
make[1]: Leaving directory '/builddir/cross-powerpcle-linux-gnu-0.34/glibc-2.32'
make: *** [Makefile:9: all] Error 2
=> ERROR: cross-powerpcle-linux-gnu-0.34_1: do_build: 'make ${makejobs}' exited with 2
=> ERROR:   in _void_cross_build_glibc() at common/build-style/void-cross.sh:278
=> ERROR:   in do_build() at common/build-style/void-cross.sh:522

Last successful build of this one was not too long ago on 2021-02-20 14:48 CET.
log.txt

@q66
Copy link
Contributor

q66 commented Feb 27, 2021

just tried cross-compiling glibc for ppcle, can't reproduce the problem

@pullmoll
Copy link
Member Author

Then something is borked in my local builds. Now trying to build with a binary-bootstrap from the official repo.

@pullmoll
Copy link
Member Author

So the cross-powerpc-linux-gnu problem seems to be a parallelism issue. I have XBPS_MAKEJOBS=120 in etc/conf. In another try I could now build the pkg with both, my own pkgs and the official ones in a binary-bootstrap i686.

However the failure to build glibc happens here also with the official binaries, i.e.:

./xbps-src zap
./xbps-src binary-bootstrap i686
./xbps-src -a ppcle pkg glibc

fails for me just as with my home grown i686 pkgs. My etc/conf is:

XBPS_MAKEJOBS=120
XBPS_CCACHE=yes
XBPS_DEBUG_PKGS=yes
XBPS_ALLOW_RESTRICTED=yes

Kernel is linux-5.11.2_2 and I'm going to try on the 5.10 series now.

@pullmoll
Copy link
Member Author

pullmoll commented Feb 28, 2021

D'OH! Booted into linux5.10-5.10.19_1 and I could build glibc using the official repo while it still fails using my own repo. I'm going to compare build logs now to track down the difference.

Another try w/ official repo gives me this:
log-official.txt

FWIW: The logs cannot really be compared. Despite building with XBPS_MAKEJOBS=1 the outputs differ very much in the order of files being built, time stamps created, etc.
I'll try to rebuild the {host,}makedepends pkgs.

@ericonr
Copy link
Member

ericonr commented Apr 28, 2021

Something to remember if we hit issues with glibc builds, but we won't be able to investigate further :/

@ericonr ericonr closed this as completed Apr 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants