I rely on app-arch/xz-utils:5.6.2-r1 to provide /usr/bin/xz When I attempt to install app-arch/7zip I receive the following error: ================ BUILD ERROR ========================================== [ebuild U ] app-arch/7zip-24.08 [24.07] Would you like to merge these packages? [Yes/No] y >>> Verifying ebuild manifests >>> Emerging (1 of 1) app-arch/7zip-24.08::gentoo * 7z2408-src.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ] * 7z2408-linux-x64.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking 7z2408-src.tar.xz to /var/tmp/portage/app-arch/7zip-24.08/work >>> Unpacking 7z2408-linux-x64.tar.xz to /var/tmp/portage/app-arch/7zip-24.08/work xz: /var/tmp/portage/app-arch/7zip-24.08/distdir/7z2408-linux-x64.tar.xz: Unsupported options tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors * ERROR: app-arch/7zip-24.08::gentoo failed (unpack phase): * unpack: failure unpacking 7z2408-linux-x64.tar.xz * * Call stack: * ebuild.sh, line 136: Called src_unpack * environment, line 1668: Called default * phase-functions.sh, line 873: Called default_src_unpack * phase-functions.sh, line 900: Called __eapi0_src_unpack * phase-helpers.sh, line 794: Called unpack '7z2408-src.tar.xz' '7z2408-linux-x64.tar.xz' * phase-helpers.sh, line 541: Called __unpack_tar 'xz -T24 -d' * phase-helpers.sh, line 372: Called __assert_sigpipe_ok 'unpack: failure unpacking 7z2408-linux-x64.tar.xz' * isolated-functions.sh, line 41: Called die * The specific snippet of code: * [[ ${x} -ne 0 && ${x} -ne ${PORTAGE_SIGPIPE_STATUS:-141} ]] && die "$@" * * If you need support, post the output of `emerge --info '=app-arch/7zip-24.08::gentoo'`, * the complete build log and the output of `emerge -pqv '=app-arch/7zip-24.08::gentoo'`. * The complete build log is located at '/var/tmp/portage/app-arch/7zip-24.08/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-arch/7zip-24.08/temp/environment'. * Working directory: '/var/tmp/portage/app-arch/7zip-24.08/work' * S: '/var/tmp/portage/app-arch/7zip-24.08/work' >>> Failed to emerge app-arch/7zip-24.08, Log file: >>> '/var/tmp/portage/app-arch/7zip-24.08/temp/build.log' * Messages for package app-arch/7zip-24.08: * ERROR: app-arch/7zip-24.08::gentoo failed (unpack phase): * unpack: failure unpacking 7z2408-linux-x64.tar.xz * * Call stack: * ebuild.sh, line 136: Called src_unpack * environment, line 1668: Called default * phase-functions.sh, line 873: Called default_src_unpack * phase-functions.sh, line 900: Called __eapi0_src_unpack * phase-helpers.sh, line 794: Called unpack '7z2408-src.tar.xz' '7z2408-linux-x64.tar.xz' * phase-helpers.sh, line 541: Called __unpack_tar 'xz -T24 -d' * phase-helpers.sh, line 372: Called __assert_sigpipe_ok 'unpack: failure unpacking 7z2408-linux-x64.tar.xz' * isolated-functions.sh, line 41: Called die * The specific snippet of code: * [[ ${x} -ne 0 && ${x} -ne ${PORTAGE_SIGPIPE_STATUS:-141} ]] && die "$@" * * If you need support, post the output of `emerge --info '=app-arch/7zip-24.08::gentoo'`, * the complete build log and the output of `emerge -pqv '=app-arch/7zip-24.08::gentoo'`. * The complete build log is located at '/var/tmp/portage/app-arch/7zip-24.08/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-arch/7zip-24.08/temp/environment'. * Working directory: '/var/tmp/portage/app-arch/7zip-24.08/work' * S: '/var/tmp/portage/app-arch/7zip-24.08/work'
I can reproduce the issue by disabling the "extra-filters" USE flag on app-arch/xz-utils. It might be worth informing upstream that they are creating non-standard xz archives. In the meantime, I would suggest adding the following dependency to the ebuild: BDEPEND="app-arch/xz-utils[extra-filters(+)]".
I created a bug upstream like you suggested: https://sourceforge.net/p/sevenzip/bugs/2503/ For now I will use your work-around by including +extra-filters use flag inside my app-arch/xz-utils package.
Ah, so they are actually using that BCJ filter for x64 binaries. Interesting.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c52b27ef4b39a59972b29e3e97cb584c70089583 commit c52b27ef4b39a59972b29e3e97cb584c70089583 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2024-08-17 22:15:12 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2024-08-17 22:15:12 +0000 app-arch/7zip: depend on app-arch/xz-utils[extra-filters(+)] Closes: https://bugs.gentoo.org/937989 Signed-off-by: Mike Gilbert <floppym@gentoo.org> app-arch/7zip/7zip-24.07.ebuild | 1 + app-arch/7zip/7zip-24.08.ebuild | 1 + 2 files changed, 2 insertions(+)
Worth noting that we don't actually need the binary, that binary archive is downloaded only to get the documentation (which isn't present in the source archive). I wanted to pull the documentation out into a separate tarball but didn't do it since I didn't have convenient way to host it, and since it was only 1.5M. If a gentoo dev wants to pull the docs out and host it on gentoo infra feel free to do so. It'd lower the download size along with avoiding depending on `extra-filters` for xz.