Here is the full build log: http://dpaste.com/3BAD218.txt Here is the output of "emerge --info '=sys-apps/sandbox-2.13::gentoo'": http://dpaste.com/2Y6G4MT.txt Here is the output of "emerge -pqv '=sys-apps/sandbox-2.13::gentoo'": ``` [ebuild UD] sys-apps/sandbox-2.13 [2.18] ABI_X86="(32) (64) (-x32)" ```
Created attachment 588566 [details] build.log
Created attachment 588568 [details] emerge --info
1. Why do you need to downgrade sandbox? 2. Pleas attach your config.log from build dir. A few basic things fail to detect libc's basic interfaces and the qualified compiler: > checking for i686-pc-linux-gnu-gcc... gcc -m32 ... > checking for library containing dlopen... no > checking for dlvsym... no
(In reply to Sergei Trofimovich from comment #3) > 1. Why do you need to downgrade sandbox? At first the error came up when portage attempted to emerge version `2.18`. One of the things I tried when debugging was to mask the `~amd64` versions.
Created attachment 588586 [details] sandbox-2.13/work/sandbox-2.13-abi_x86_32.x86/config.log This may be from a different build attempt than the one `build.log` is from.
Created attachment 588588 [details] sandbox-2.13/work/sandbox-2.13-abi_x86_64.amd64/config.log
Created attachment 588590 [details] sandbox-2.18/work/sandbox-2.18-abi_x86_32.x86/config.log
Created attachment 588592 [details] sandbox-2.18/work/sandbox-2.18-abi_x86_64.amd64/config.log
(In reply to Árni Dagur from comment #7) > Created attachment 588590 [details] > sandbox-2.18/work/sandbox-2.18-abi_x86_32.x86/config.log Let's focus on this most recent sandbox version. Here config.log indicates that your glibc is broken and does not expose dlopen via libdl.so: configure:11587: gcc -m32 -o conftest -march=native -O2 -pipe -falign-functions=32 -fdiagnostics-color=always -Wl,-O1 -Wl,--as-needed conftest.c -ldl >&5 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/sys-apps/sandbox-2.18/temp/ccb3hPR3.o: in function `main': conftest.c:(.text.startup+0x13): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib32/libdl.a(dlopen.o): in function `dlopen': (.text+0x28): undefined reference to `__dlopen' collect2: error: ld returned 1 exit status configure:11587: $? = 1 configure: failed program was: ... | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char dlopen (); | int | main () | { | return dlopen (); | ; | return 0; | } My guess is that your glibc was somehow miscompiled or corrupted: 1. linker did not find libdl.so at all 2. static libdl.a did not contain dlopen Both are bugs. Please post output of: $ emerge --info sys-libs/glibc
Created attachment 588606 [details] emerge --info sys-libs/glibc Here it is
(In reply to Árni Dagur from comment #10) > Created attachment 588606 [details] > emerge --info sys-libs/glibc > > Here it is Aha, looks like you use the same CFLAGS for glibc as well (which is fine): sys-libs/glibc-2.29-r4::gentoo was built with the following: USE="multiarch (multilib) (split-usr) ssp -audit -caps (-cet) -compile-locales -doc -gd -headers-only -nscd -profile (-selinux) -suid -systemtap -test (-vanilla)" ABI_X86="(64)" CFLAGS="-march=native -pipe -O2 -fno-strict-aliasing" CXXFLAGS="-march=native -pipe -O2 -fno-strict-aliasing" Can you do a few things for me? 1. Expand -march=native and post here: https://wiki.gentoo.org/wiki/Gcc-ICE-reporting-guide#Expand_-march.3Dnative.2C_exact_gcc_version_and_other_system-specific_options 2. Rebuild glibc as-is and check if sandbox-2.28 still fails to build 3. Rebuild glibc without -march=native and check if sandbox-2.28 still fails to build I'll try to reproduce the failure locally meanwhile.
Created attachment 588624 [details] expanded -march=native
> 2. Rebuild glibc as-is and check if sandbox-2.28 still fails to build I rebuilt glibc as-is and emerging sandbox-2.18 now works!