lang/python3*: Fix build when archivers/lzmalib is installed The lzma module fails to build when archivers/lzmalib is installed: running build_ext [...] *** WARNING: renaming "_lzma" since importing it failed: build/lib.freebsd-12.1-RELEASE-p8-amd64-3.7/_lzma.so: Undefined symbol "lzma_check_is_supported" This change configures the lzma module to always build against base (libarchive) via WRKSRC/Modules/Setup.local. Eventually we can build it against archivers/lzma, but currently the port does not provide header and libraries. The change does no apply to Python 2.7 as it does not provide the lzma module PR: 209355, 243817 Reported by: Eir Nym <email@example.com> Reported by: firstname.lastname@example.org Submitted by: loader (earlier version) Reviewed by: koobs (Python) Differential Revision: D26477
- testport: OK (poudriere: 11, 12, CURRENT; i386, amd64)
Since this issue and changeset is all about 'building with base', and since there's no port (at present, as archivers/lzma only provides a binary, not headers), is there any reason we shouldn't just explicitly and unconditionally point the lzma module to base?
This issue occurs when not using Poudriere, on a very specific scenario, I would recommend letting this way. So it won't change anything (to the current users), and _lzma will continue to be built by setup.py respecting system flags.
I think the explicit args for lzma in Setup.local has always the been the correct and appropriate thing to do (which is why i suggested it), and is the correct and permanent resolution. I don't think this should be conditionalized unless and until we support lzmalibs from base and ports
Additionally, it would be nice to confirm that poudriere passes with a hard BUILD_DEPENDS on archivers/lzmalib with the conditional removed in this block