All, I was recently trying to setup a Gentoo Prefix install on my Arch Linux development box. STR: ```bash cd $ ./bootstrap-prefix.sh # ... whole bunch of output as usual, then: make[3]: Leaving directory '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/work/attr-2.4.48-abi_x86_64.amd64' libtool: warning: 'libattr.la' has not been installed in '/home/jason/gentoo/usr/lib64' libtool: install: /usr/bin/install -c .libs/attr /home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/image/home/jason/gentoo/bin/attr libtool: warning: 'libattr.la' has not been installed in '/home/jason/gentoo/usr/lib64' libtool: install: /usr/bin/install -c .libs/getfattr /home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/image/home/jason/gentoo/bin/getfattr libtool: warning: 'libattr.la' has not been installed in '/home/jason/gentoo/usr/lib64' libtool: install: /usr/bin/install -c .libs/setfattr /home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/image/home/jason/gentoo/bin/setfattr make[2]: Leaving directory '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/work/attr-2.4.48-abi_x86_64.amd64' make[1]: Leaving directory '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/work/attr-2.4.48-abi_x86_64.amd64' x86_64-pc-linux-gnu-readelf: error while loading shared libraries: libdebuginfod.so.1: cannot open shared object file: No such file or directory x86_64-pc-linux-gnu-readelf: error while loading shared libraries: libdebuginfod.so.1: cannot open shared object file: No such file or directory # readelf -V /home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/image/home/jason/gentoo/usr/lib64/libattr.so.1 # readelf -sW /home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/image/home/jason/gentoo/usr/lib64/libattr.so.1 * ERROR: sys-apps/attr-2.4.48-r4::gentoo failed (install phase): * symbol version sanity check failed; please comment on https://bugs.gentoo.org/644048 * * Call stack: * ebuild.sh, line 125: Called src_install * environment, line 2100: Called multilib-minimal_src_install * environment, line 1439: Called multilib_foreach_abi 'multilib-minimal_abi_src_install' * environment, line 1672: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install' * environment, line 1326: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install' * environment, line 1324: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_install' * environment, line 422: Called multilib-minimal_abi_src_install * environment, line 1429: Called multilib_src_install * environment, line 1903: Called die * The specific snippet of code: * die "symbol version sanity check failed; please comment on https://bugs.gentoo.org/644048"; * * If you need support, post the output of `emerge --info '=sys-apps/attr-2.4.48-r4::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-apps/attr-2.4.48-r4::gentoo'`. * The complete build log is located at '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/temp/build.log'. * The ebuild environment file is located at '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/temp/environment'. * Working directory: '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/work/attr-2.4.48-abi_x86_64.amd64' * S: '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/work/attr-2.4.48' >>> Failed to emerge sys-apps/attr-2.4.48-r4, Log file: >>> '/home/jason/gentoo/var/tmp/portage/sys-apps/attr-2.4.48-r4/temp/build.log' ``` Specifically: ```bash x86_64-pc-linux-gnu-readelf: error while loading shared libraries: libdebuginfod.so.1: cannot open shared object file: No such file or directory ``` I checked all of the build products of sys-apps/attr, and none were linked against libdebuginfod. Additionally, elfutils is built without debuginfod, so there is no libdebuginfod.* underneath $HOME/gentoo/. It turns out that the readelf binary in the prefix is mistakenly built against the host system (Arch Linux)'s copy of libdebuginfod. As can be seen here: ```bash $ ldd gentoo/usr/bin/x86_64-pc-linux-gnu-readelf linux-vdso.so.1 (0x00007ffd51bd6000) libctf-nobfd.so.0 => /home/jason/gentoo/usr/lib64/binutils/x86_64-pc-linux-gnu/2.35.1/libctf-nobfd.so.0 (0x00007fcb67f71000) libz.so.1 => /usr/lib/libz.so.1 (0x00007fcb67f34000) libdebuginfod.so.1 => /usr/lib/libdebuginfod.so.1 (0x00007fcb67f2d000) # <======= oops libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fcb67f27000) libc.so.6 => /usr/lib/libc.so.6 (0x00007fcb67d5e000) libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007fcb67cc8000) /home/jason/gentoo/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fcb68037000) libnghttp2.so.14 => /usr/lib/libnghttp2.so.14 (0x00007fcb67c9a000) libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007fcb67c79000) libssh2.so.1 => /usr/lib/libssh2.so.1 (0x00007fcb67c39000) libpsl.so.5 => /usr/lib/libpsl.so.5 (0x00007fcb67c26000) libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007fcb67b96000) libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007fcb678b8000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007fcb67861000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007fcb6777b000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007fcb6774a000) libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007fcb67744000) libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007fcb67672000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fcb67650000) libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007fcb674cc000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007fcb674bd000) libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007fcb674b6000) libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007fcb6749c000) ``` How can I fix this? No warnings were thrown by the bootstrap script.
Update: I now have Prefix installed and working on Arch Linux! My hack to make it work was to move the host's libdebuginfod libraries and pkgconfig files out of the way. I don't debuginfod, so I'm not too worried about it. Anyway, after that hack, things went smoothly. I was able to update gentoo, install crossdev, and begin building toolchains. Although, -musl toolchains did require one build patch. See https://bugs.gentoo.org/755071
Same here, also Arch Linux Host.
*** Bug 760411 has been marked as a duplicate of this bug. ***
@toolchain: '--with-debuginfod' defaults to auto, which in case of Arch linux host, finds debuginfod. (automagic) I see no provisions in the ebuild for this, are you OK with unconditionally adding --without-debuginfod to the econf call? Thanks
Yeah, it should be file. I'll add the options.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fee7ec7b350ff17e64fd136c84cf6279c93255c9 commit fee7ec7b350ff17e64fd136c84cf6279c93255c9 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2021-01-03 13:14:34 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2021-01-03 13:19:38 +0000 sys-devel/binutils: expliictly disable debuginfod Fixed-by: Fabian Groffen Reported-by: Jason Cooper Closes: https://bugs.gentoo.org/754753 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-devel/binutils/binutils-2.34-r2.ebuild | 6 +++++- sys-devel/binutils/binutils-2.35.1-r1.ebuild | 6 +++++- sys-devel/binutils/binutils-2.35.1.ebuild | 6 +++++- sys-devel/binutils/binutils-9999.ebuild | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=864294c55ff5c1a6c4dc6a473e415b7326868cf9 commit 864294c55ff5c1a6c4dc6a473e415b7326868cf9 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2021-01-03 13:19:24 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2021-01-03 13:19:37 +0000 sys-libs/binutils-libs: expliictly disable debuginfod Fixed-by: Fabian Groffen Reported-by: Jason Cooper Bug: https://bugs.gentoo.org/754753 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild | 6 +++++- sys-libs/binutils-libs/binutils-libs-2.35.1-r1.ebuild | 6 +++++- sys-libs/binutils-libs/binutils-libs-2.35.1.ebuild | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3776a155ad89d1ed4b0c475c7467a6f10340f11 commit a3776a155ad89d1ed4b0c475c7467a6f10340f11 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2021-01-03 13:16:07 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2021-01-03 13:19:37 +0000 sys-devel/binutils-hppa64: expliictly disable debuginfod Fixed-by: Fabian Groffen Reported-by: Jason Cooper Bug: https://bugs.gentoo.org/754753 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-devel/binutils-hppa64/binutils-hppa64-2.34-r2.ebuild | 6 +++++- sys-devel/binutils-hppa64/binutils-hppa64-2.35.1-r1.ebuild | 6 +++++- sys-devel/binutils-hppa64/binutils-hppa64-2.35.1.ebuild | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cef85020eeed3ea2e89aeb0bd78fb4623738bbbf commit cef85020eeed3ea2e89aeb0bd78fb4623738bbbf Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2021-01-03 13:11:28 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2021-01-03 13:14:42 +0000 sys-devel/gdb: expliictly disable debuginfod Fixed-by: Fabian Groffen Reported-by: Jason Cooper Bug: https://bugs.gentoo.org/754753 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-devel/gdb/gdb-10.1.ebuild | 6 +++++- sys-devel/gdb/gdb-9999.ebuild | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-)
Please give it a try. I lightly tested that options are passed.
I wasn't exactly sure how to test that, as env EXPORT_LATEST_TREE=1 ./bootstrap-prefix.sh didn't fetch these modified ebuilds, so I bootstrapped up to stage1, added a local repo with the new binutils-2.35.1-r1 ebuild to both stage2 and stage3 portage (i.e. ${EPREFIX}/var/db/repos/local and ${EPREFIX}/tmp/var/db/repos/local, I'm assuming those are stage2 and stage3 portage trees, but I'm not sure). After I did that, the rest of the bootstrap process went fine. Thank you for spending time on this!
Ah, yes, thanks for taking the time to go through these hoops! This was quite a decoy, but glad we found the culprit at last.
No worries. Let me know when the new changes hit the main tree: I could test the bootstrap again on Arch, and we could maybe add Arch back to the https://wiki.gentoo.org/wiki/Prefix/tested page, if you would like.
Thanks, I'll bump the snapshot with tonights build tomorrow
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=6fd9932cd2bf2cdcdab00d0915e289114104b99e commit 6fd9932cd2bf2cdcdab00d0915e289114104b99e Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2021-01-05 08:44:01 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2021-01-05 08:44:01 +0000 scripts/bootstrap-prefix: bump snapshot for misc fixes - Darwin: Python, Portage - Linux: binutils Bug: https://bugs.gentoo.org/754753 Signed-off-by: Fabian Groffen <grobian@gentoo.org> scripts/bootstrap-prefix.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Can confirm that the bootstrap script now completes on Arch Linux.