| Summary: | sys-fs/cryfs-0.10.3-r1 does not emerge | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Stuart Meya <stuartmeya> |
| Component: | Current packages | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
| Status: | RESOLVED NEEDINFO | ||
| Severity: | major | CC: | stuartmeya |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
build.log
correct build.log |
||
|
Description
Stuart Meya
2022-03-10 10:47:21 UTC
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. |