Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 834910 - sys-fs/cryfs-0.10.3-r1 does not emerge
Summary: sys-fs/cryfs-0.10.3-r1 does not emerge
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal major (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-10 10:47 UTC by Stuart Meya
Modified: 2022-03-10 11:18 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,273.13 KB, text/x-log)
2022-03-10 10:59 UTC, Stuart Meya
Details
correct build.log (build.log.cryfs,182.79 KB, text/plain)
2022-03-10 11:05 UTC, Stuart Meya
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Meya 2022-03-10 10:47:21 UTC
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.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-10 10:48:26 UTC
You need to attach all information (no external links) including the full build.log of the failure.
Comment 2 Stuart Meya 2022-03-10 10:59:13 UTC
Created attachment 766738 [details]
build.log

Here's the full build.log.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-10 11:01:38 UTC
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 4 Stuart Meya 2022-03-10 11:03:44 UTC
Comment on attachment 766738 [details]
build.log

wrong build.log
Comment 5 Stuart Meya 2022-03-10 11:05:18 UTC
Created attachment 766739 [details]
correct build.log

original build.log
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-10 11:08:40 UTC
/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.
Comment 7 Stuart Meya 2022-03-10 11:12:18 UTC
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.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-10 11:13:05 UTC
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.
Comment 9 Stuart Meya 2022-03-10 11:18:05 UTC
(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.