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: D26477Details
- 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. | |