Skip to content

quazip: fix leaked cross sysroot path in cmake exports - #62722

Open
omemoji wants to merge 1 commit into
void-linux:masterfrom
omemoji:quazip
Open

omemoji wants to merge 1 commit into
void-linux:masterfrom
omemoji:quazip

Conversation

@omemoji

@omemoji omemoji commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Cross-built quazip packages (e.g. aarch64) ship CMake exports that still contain the cross sysroot path:

INTERFACE_LINK_LIBRARIES "Qt6::Core;Qt6::Core5Compat;ZLIB::ZLIB;/usr/aarch64-linux-gnu/usr/lib/libbz2.so"

This affects both QuaZip-Qt5_SharedTargets.cmake and QuaZip-Qt6_SharedTargets.cmake. Any native build that consumes these exports fails at link time:

ninja: error: '/usr/aarch64-linux-gnu/usr/lib/libbz2.so', needed by '...', missing and no known rule to make it

x86_64 is not affected because it is built natively.

Changes:

  • strip ${XBPS_CROSS_BASE} from the Qt5/Qt6 *_SharedTargets.cmake in post_install (cross builds only)
  • add bzip2-devel to makedepends: quazip links against bzip2, but it was never declared
  • add bzip2-devel to depends of quazip-devel and quazip-qt6-devel, since the exports reference /usr/lib/libbz2.so

Testing the changes

  • I tested the changes in this PR: YES
    • Applied the substitution to the currently distributed aarch64 quazip-devel / quazip-qt6-devel exports; both now point to /usr/lib/libbz2.so.

Local build testing

  • I built this PR locally for my native architecture, (aarch64-glibc)
  • Cross builds: armv7l-glibc (others relying on CI.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant