Summary: | >=sys-devel/gcc-3.4.3 on IA64 should use system libunwind.so from sys-libs/libunwind, sys-libs/libunwind should install shared libraries for native ABI in /lib | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arfrever Frehtes Taifersar Arahesis <arfrever.fta> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | alexander, esigra, ia64, matoro_gentoo, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | IA64 | ||
OS: | All | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=667020 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 693250 | ||
Bug Blocks: | 251464 | ||
Attachments: | Patch |
Description
Arfrever Frehtes Taifersar Arahesis
2019-09-01 02:18:26 UTC
Created attachment 588620 [details, diff] Patch This patch applies after patch from bug #693250. Before testing this patch, it is NECESSARY to apply patch for sys-devel/gcc-config from bug #667020. Otherwise gcc-config would delete libunwind.so required by newly built GCC. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/gcc-config.git/commit/?id=17c4c852f979668387b1b965d48470cb730df5b6 commit 17c4c852f979668387b1b965d48470cb730df5b6 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-09-04 18:59:31 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-09-04 18:59:31 +0000 gcc-config: clarify why libunwind.so* is needed at all Bug: https://bugs.gentoo.org/667020 Bug: https://bugs.gentoo.org/693252 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> gcc-config | 5 +++++ 1 file changed, 5 insertions(+) At least # EXTRA_ECONF=--with-system-libunwind emerge -v1 gcc yields gcc with desired properties. libunwind gets into a fun state when it's a dependency of itself. $ lddtree /usr/lib/libunwind.so.8 /usr/lib/libunwind.so.8 (interpreter => None) libc.so.6.1 => /lib/libc.so.6.1 ld-linux-ia64.so.2 => /lib/ld-linux-ia64.so.2 libgcc_s.so.1 => /usr/lib/gcc/ia64-unknown-linux-gnu/9.2.0/libgcc_s.so.1 libunwind.so.8 => /usr/lib/libunwind.so.8 libgcc_s.so.1 => !!! circular loop !!! Which should be fine at least on glibc. python and emerge still works to be able to fix the world. I did not notice any critical binaries or libraries in stage3. The details are a bit messy: preserved-libs does not keep libunwind.so.7 and instantly breaks most (every?) c++ application like eix. Full list of silently broken packages on a random ~arch chroot where a bunch of packages present: # qfile $(fgrep -Rl libunwind.so.7 /usr/bin /usr/lib 2>/dev/null) | awk '{print $1}' | sort -u app-arch/brotli: app-crypt/gpgme: app-misc/sphinx: app-portage/eix: app-text/hunspell: app-text/openjade: app-text/opensp: app-text/poppler: app-text/qpdf: dev-lang/swig: dev-libs/boehm-gc: dev-libs/boost: dev-libs/efl: dev-libs/gmp: dev-libs/icu: dev-libs/libical: dev-libs/libpcre: dev-libs/libsass: dev-libs/re2: dev-python/subunit: dev-util/cmake: dev-util/colm: dev-util/cppunit: dev-util/gperf: dev-util/ragel: dev-util/re2c: media-gfx/graphite2: media-libs/flac: media-libs/mesa: media-libs/woff2: net-libs/gnutls: net-libs/libproxy: net-libs/nghttp2: net-libs/webkit-gtk: net-print/cups: sys-apps/groff: sys-auth/polkit: sys-libs/db: sys-libs/ncurses: Full list of to be broken packages on a real full stable ia64 system: slyfox@guppy ~ $ qfile $(sudo fgrep -Rl libunwind.so.7 /bin /sbin /usr/bin /usr/sbin /lib /usr/lib 2>/dev/null) | awk '{print $1}' | sort -u app-editors/emacs app-portage/eix dev-libs/gmp dev-libs/libpcre dev-util/cmake dev-util/gperf dev-util/ninja dev-util/re2c net-libs/gnutls sys-apps/groff sys-apps/smartmontools sys-devel/gcc sys-devel/gettext sys-libs/db sys-libs/ncurses |