I need to emerge sys-fs/cryfs, but simply can't. I've tried it with GCC, GCC without LTO, Clang and Clang without LTO. emerge -pvq: http://0x0.st/oZKQ.txt emerge --info: http://0x0.st/oZKQ.txt I really hope someone finds a solution.
You need to attach all information (no external links) including the full build.log of the failure.
Created attachment 766738 [details] build.log Here's the full build.log.
Your Pango is somehow underlinked: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../lib64/libpango-1.0.so: undefined reference to `hb_ot_layout_get_horizontal_baseline_tag_for_script' emerge -v1 x11-libs/pango. May well be as a result of extreme optimisations.
Comment on attachment 766738 [details] build.log wrong build.log
Created attachment 766739 [details] correct build.log original build.log
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: src/cryfs-unmount/libcryfs-unmount.a(ProgramOptions.cpp.o): undefined reference to symbol '_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3' /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/libstdc++.so.6: error adding symbols: DSO missing from command line You may have done something horrific to your system. Please share exsctly how you're setting GCC and Clang (the package.env snippets) and also fix the Pango issue for librsvg I mentioned, then we'll go from there. Given this is the second weird thing, I'd go back to GCC, unset the Clang bits temporarily, and emerge -ev @world with boring flags.
my make conf: # Use clang instead of gcc CC="clang" CXX="clang++" LD="ld.lld" # Use the proper tools capable of dealing with LLVM bitcode AR="llvm-ar" NM="llvm-nm" RANLIB="llvm-ranlib" STRIP="llvm-strip" OBJDUMP="llvm-objdump" OBJCOPY="llvm-objcopy" OBJSIZE="llvm-objsize" STRINGS="llvm-strings" READELF="llvm-readelf" # Standard flags that normally don't cause problems COMMON_FLAGS="-march=native -O3 -pipe" # Flags for compile-time hardening HARDENED_FLAGS="${COMMON_FLAGS} -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fstack-clash-protection" LTO_FLAGS_THIN="-flto=thin" CFLAGS="${HARDENED_FLAGS} ${LTO_FLAGS_THIN}" # Use libc++ as the standard C++ library CXXFLAGS="${HARDENED_FLAGS} ${LTO_FLAGS_THIN} -stdlib=libc++" # Hardened LDFLAGS and use lld as the default linker LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-S -Wl,-z,now -Wl,-z,relro -fuse-ld=lld -Wl,-unwindlib=libunwind" my /etc/portage/env/compiler-gcc: CC="gcc" CXX="g++" AR="ar" NM="nm" RANLIB="ranlib" LD="ld.bfd" COMMON_FLAGS="-march=native -O3 -pipe" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" RUSTFLAGS="${RUSTFLAGS} -Copt-level=3 -Ctarget-cpu=native" It is a new system, I wanted to build one mainly based on clang with gcc only fallback.
aaaand now I see the libc++. Please be extremely careful in transitioning to libc++ as it's not ABI compatible with libstdc++. If using it, you also need to always tell GCC that too. They cannot be mixed.
(In reply to Sam James from comment #8) > aaaand now I see the libc++. Please be extremely careful in transitioning to > libc++ as it's not ABI compatible with libstdc++. > > If using it, you also need to always tell GCC that too. They cannot be mixed. Oh damn. I wanted to use libstdc++. Need to re-do my configs and do an emerge -e @world now.