Fails to install for me with USE="caps (crypt) multiarch ssp (static-libs) static-pie%* (-audit) (-cet) -compile-locales -custom-cflags -doc -gd -headers-only (-multilib) -nscd -profile (-selinux) -suid -systemtap -test (-vanilla)" Portage 2.3.99 (python 3.6.10-final-0, default/linux/ppc64le/17.0/desktop/plasma, gcc-9.3.0, glibc-2.30-r8, 5.4.28-gentoo ppc64le) ================================================================= System Settings ================================================================= System uname: Linux-5.4.28-gentoo-ppc64le-POWER9,_altivec_supported-with-gentoo-2.7 KiB Mem: 65036972 total, 34717664 free KiB Swap: 67108856 total, 67100920 free Timestamp of repository gentoo: Sat, 25 Apr 2020 16:21:23 +0000 Head commit of repository gentoo: e499740b3aa1a55d6b60bdbe39ebf410c00cd74d Head commit of repository gyakovlev: be0c985ca9da7e95bad8b3375253333fccb901b4 sh bash 5.0_p16 ld GNU ld (Gentoo 2.34 p1) 2.34.0 ccache version 3.7.9 [disabled] app-shells/bash: 5.0_p16::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.30.2::gentoo dev-lang/python: 2.7.18::gentoo, 3.6.10-r2::gentoo dev-util/ccache: 3.7.9::gentoo dev-util/cmake: 3.17.1::gentoo sys-apps/baselayout: 2.7::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.18::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo sys-devel/automake: 1.16.2::gentoo sys-devel/binutils: 2.34::gentoo sys-devel/gcc: 9.3.0::gentoo sys-devel/gcc-config: 2.2.1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.4::gentoo (virtual/os-headers) sys-libs/glibc: 2.30-r8::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://anongit.gentoo.org/git/repo/sync/gentoo.git priority: -1000 sync-git-clone-extra-opts: -b master sync-git-verify-commit-signature: true gyakovlev location: /var/db/repos/gyakovlev sync-type: git sync-uri: https://github.com/gyakovlev/gentoo-overlay.git masters: gentoo Installed sets: @mycompress, @mydevutil ACCEPT_KEYWORDS="ppc64" ACCEPT_LICENSE="@FREE" CBUILD="powerpc64le-unknown-linux-gnu" CFLAGS="-mcpu=power9 -O2 -pipe -frecord-gcc-switches -fdiagnostics-show-option" CHOST="powerpc64le-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-mcpu=power9 -O2 -pipe -frecord-gcc-switches -fdiagnostics-show-option" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--nospinner --ask-enter-invalid --jobs=4 --load-average 30 --quiet-build" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-mcpu=power9 -O2 -pipe -frecord-gcc-switches -fdiagnostics-show-option" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs cgroup collision-protect compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox mount-sandbox multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms splitdebug strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-mcpu=power9 -O2 -pipe -frecord-gcc-switches -fdiagnostics-show-option" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0" LINGUAS="en" MAKEOPTS="--jobs=32 --load-average=30" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl activities alsa altivec berkdb bluetooth branding bzip2 cairo caps cdr cli crypt cups dbus declarative dri dts dvdr elogind emboss encode epub exif filecaps flac fontconfig fortran gdbm gif gpm iconv icu introspection ipv6 jpeg kde kipi kwallet lcms libnotify lm-sensors lz4 lzma lzo mad mng mp3 mp4 mpeg ncurses nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppc64 ppds qml qt5 readline seccomp semantic-desktop spell split-usr ssl startup-notification svg taglib tiff truetype udev udisks unicode upower usb v4l vaapi vim-syntax vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid zeroconf zlib zstd" ABI_PPC="64" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" CAMERAS="ptp2 fuji" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_PPC="altivec vsx vsx3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="amdgpu" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= sys-libs/glibc-2.30-r8::gentoo was built with the following: USE="caps (crypt) multiarch ssp (static-libs) (-audit) (-cet) -compile-locales -custom-cflags -doc -gd -headers-only (-multilib) -nscd -profile (-selinux) -suid -systemtap -test (-vanilla)" CFLAGS="-mcpu=native -pipe -fdiagnostics-show-option -ggdb -O2" CXXFLAGS="-mcpu=native -pipe -fdiagnostics-show-option -ggdb -O2" FEATURES="distlocks binpkg-dostrip ipc-sandbox sandbox xattr strict-keepdir collision-protect compressdebug userfetch parallel-fetch ebuild-locks multilib-strict binpkg-logs sfperms preserve-libs usersandbox binpkg-docompress pid-sandbox qa-unresolved-soname-deps network-sandbox protect-owned news mount-sandbox installsources assume-digests strict splitdebug unmerge-logs cgroup unmerge-orphans userpriv usersync parallel-install unknown-features-warn fixlafiles config-protect-if-modified"
Created attachment 634560 [details] glibc-2.31-r2-build.log
contents of /var/tmp/portage/sys-libs/glibc-2.31-r2/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/elf/symlink.list > ld-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/ld64.so.2 > libc-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libc.so.6 > libBrokenLocale-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libBrokenLocale.so.1 > libm-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libm.so.6 > libdl-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libdl.so.2 > libpthread-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libpthread.so.0 > libc-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libc.so.6 > librt-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/librt.so.1 > libcrypt-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libcrypt.so.1 > libthread_db-1.0.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libthread_db.so.1 > libnss_dns-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libnss_dns.so.2 > libresolv-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libresolv.so.2 > libanl-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libanl.so.1 > libnss_db-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libnss_db.so.2 > libnss_files-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libnss_files.so.2 > libnss_compat-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libnss_compat.so.2 > libnss_hesiod-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libnss_hesiod.so.2 > libnsl-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libnsl.so.1 > libutil-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/libutil.so.1 > ld-2.31.so /var/tmp/portage/sys-libs/glibc-2.31-r2/image//lib64/ld64.so.2 idk how this file should look like and why ld-2.31.so is listed twice there 2.30 builds fine, here's that part tmp/portage/sys-libs/glibc-2.30-r8/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/stubs.h /var/tmp/portage/sys-libs/glibc-2.30-r8/image//usr/include/gnu/stubs-64-v2.h; \ then echo 'stubs.h unchanged'; \ else /usr/lib/portage/python3.6/ebuild-helpers/xattr/install -c -m 644 /var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/stubs.h /var/tmp/portage/sys-libs/glibc-2.30-r8/image//usr/include/gnu/stubs-64-v2.h; fi rm -f /var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/stubs.h /var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/elf/sln /var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/elf/symlink.list rm -f /var/tmp/portage/sys-libs/glibc-2.30-r8/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/elf/symlink.list but deletes the file. I'll try to fish it out.
same file from 2.30, ld also listed twice, so probably irrelevant. > ld-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/ld64.so.2 > libc-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libc.so.6 > libBrokenLocale-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libBrokenLocale.so.1 > libm-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libm.so.6 > libdl-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libdl.so.2 > libpthread-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libpthread.so.0 > libc-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libc.so.6 > librt-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/librt.so.1 > libcrypt-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libcrypt.so.1 > libthread_db-1.0.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libthread_db.so.1 > libresolv-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libresolv.so.2 > libanl-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libanl.so.1 > libnss_dns-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libnss_dns.so.2 > libnss_db-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libnss_db.so.2 > libnss_files-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libnss_files.so.2 > libnss_compat-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libnss_compat.so.2 > libnss_hesiod-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libnss_hesiod.so.2 > libnsl-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libnsl.so.1 > libutil-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/libutil.so.1 > ld-2.30.so /var/tmp/portage/sys-libs/glibc-2.30-r8/image//lib64/ld64.so.2
and it builds fine if USE=-static-pie so new flag is to blame, which does not look like our code, just upstream.
USE=static-pie probably switches 'sln' from static to static-pie binary and now crashes. static-pie requires special support from gcc. That might not be completely implemented on ppc64. Can you try to rerun the raw command and check with gdb for backtrace? """ $ /var/tmp/portage/sys-libs/glibc-2.31-r2/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/elf/sln /var/tmp/portage/sys-libs/glibc-2.31-r2/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/ elf/symlink.list make[1]: *** [Makefile:115: install-symbolic-link] Error 139 make[1]: Leaving directory '/var/tmp/portage/sys-libs/glibc-2.31-r2/work/glibc-2.31' make: *** [Makefile:12: install] Error 2 """ 139 is probably a 128(signal)+11(SIGSEGV).
yep it's a segfault (gdb) run Starting program: /var/tmp/portage/sys-libs/glibc-2.31-r2/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/elf/sln /var/tmp/portage/sys-libs/glibc-2.31-r2/work/build-ppc64-powerpc64le-unknown-linux-gnu-nptl/elf/symlink.list Program received signal SIGSEGV, Segmentation fault. __libc_start_main (argc=2, argv=0x3fffffffee08, ev=<optimized out>, auxvec=0x3fffffffef90, rtld_fini=0x0, stinfo=0xbd078, stack_on_entry=0x3fffffffee00) at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:98 98 return generic_start_main (stinfo->main, argc, argv, auxvec, (gdb) w Missing arguments. (gdb) bt full #0 __libc_start_main (argc=2, argv=0x3fffffffee08, ev=<optimized out>, auxvec=0x3fffffffef90, rtld_fini=0x0, stinfo=0xbd078, stack_on_entry=0x3fffffffee00) at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:98 No locals. #1 0x0000000000000000 in ?? () No symbol table info available.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5eeea43d66b9d9a2d35a5b67ac41b36fdba23bb commit a5eeea43d66b9d9a2d35a5b67ac41b36fdba23bb Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-04-26 02:12:11 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-04-26 02:13:10 +0000 profiles/arch/powerpc/package.use.mask: mask glibc[static-pie] Bug: https://bugs.gentoo.org/719444 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> profiles/arch/powerpc/package.use.mask | 4 ++++ 1 file changed, 4 insertions(+)
did some really light research on it and according to some mailing list posts from 2018 it'll fail on ppc32 as well and is supported only on x86/x86_64/aarch64 I've masked ppc/ppc64 for now.
(In reply to Georgy Yakovlev from comment #8) > did some really light research on it and according to some mailing list > posts from 2018 it'll fail on ppc32 as well and is supported only on > x86/x86_64/aarch64 > > I've masked ppc/ppc64 for now. https://sourceware.org/glibc/wiki/PortStatus should be an accurate list: """ Static position independent executable (static PIE) support has been added to glibc 2.27, which can be enabled by configuring glibc with --enable-static-pie. This feature is currently supported on i386, x86_6, x32 and aarch64. """
In that case mask should probably converted to "mask everywhere, unmask on per arch"
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5041928ed71c196f1cf5eebefc7297162b06670b commit 5041928ed71c196f1cf5eebefc7297162b06670b Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-04-26 15:55:05 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-04-26 15:57:30 +0000 profiles/arch/powerpc/package.use.mask: remove glibc[static-pie] mask it's now masked in arch/base Bug: https://bugs.gentoo.org/719444 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> profiles/arch/powerpc/package.use.mask | 4 ---- 1 file changed, 4 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=366ee8865e2082f84ecfbbd1097644c35db80ff4 commit 366ee8865e2082f84ecfbbd1097644c35db80ff4 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-04-26 15:52:33 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-04-26 15:57:30 +0000 profiles/arch/x86/package.use.mask: unmask glibc[static-pie] Bug: https://bugs.gentoo.org/719444 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> profiles/arch/x86/package.use.mask | 4 ++++ 1 file changed, 4 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35971f0038f24782be9f22a251a6058faae9f55e commit 35971f0038f24782be9f22a251a6058faae9f55e Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-04-26 15:53:37 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-04-26 15:57:29 +0000 profiles/arch/arm64/package.use.mask: unmask glibc[static-pie] Bug: https://bugs.gentoo.org/719444 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> profiles/arch/arm64/package.use.mask | 4 ++++ 1 file changed, 4 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02eb41404a447b0d5bca3cb1b47af38dc4e9b0a3 commit 02eb41404a447b0d5bca3cb1b47af38dc4e9b0a3 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-04-26 15:51:03 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-04-26 15:56:08 +0000 profiles/arch/amd64/package.use.mask: unmask glibc[static-pie] Bug: https://bugs.gentoo.org/719444 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> profiles/arch/amd64/package.use.mask | 4 ++++ 1 file changed, 4 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=698e6a08693b245254deee9515e8762c54101f70 commit 698e6a08693b245254deee9515e8762c54101f70 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-04-26 15:48:55 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-04-26 15:56:07 +0000 profiles/arch/base/package.use.mask: mask glibc[static-pie] Bug: https://bugs.gentoo.org/719444 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> profiles/arch/base/package.use.mask | 5 +++++ 1 file changed, 5 insertions(+)
Usually ebuild does filtering of unsupported targets on it's own as it's hard to get masks right across build/host cross-compilation package names and minimal required toolchains. For example this feature requires modern gcc and binutils.
OK since this is now masked in profiles let's consider the bug resolved.