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 <eirnym@gmail.com> Reported by: doctor@doctor.nl2k.ab.ca Submitted by: loader (earlier version) Reviewed by: koobs (Python) Differential Revision: D26477
Details
- testport: OK (poudriere: 11, 12, CURRENT; i386, amd64)
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
lang/python36/Makefile | ||
---|---|---|
132–135 | 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? |
lang/python36/Makefile | ||
---|---|---|
132–135 | We dont need the conditional if we always want to build against base (and provide the relevent -I -l args for the lzma module) regardless, no? |
lang/python36/Makefile | ||
---|---|---|
132–135 | 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. |
lang/python36/Makefile | ||
---|---|---|
132–135 | 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 |
lang/python36/Makefile | ||
---|---|---|
132–135 | This as default bothers me, -l:liblzma.so.5 because it's versioned. |