py-xapian build fail: "py-sphinx module... no" (but yes)

Last few major system upgrades I haven't been able to get databases/py-xapian to build under Poudriere. I've been hoping it would just magically start to work as so much does thanks to the community, but as of FreeBSD 14.2-RELEASE-p3, still no luck.

The error is:
Code:
checking /usr/local/bin/python3.11 version... 3.11
checking for python3 sphinx module... no (try installing package python3-sphinx
configure: error: Python3 bindings build dependencies not found

Which seems pretty straight forward: install textproc/py-sphinx, except it is and seems to have succeeded:
Code:
build of textproc/py-sphinx@py311 | py311-sphinx-5.3.0_3,1 ended at Sat May 10 09:45:55 PDT 2025
build time: 00:02:22

973 other ports built successfully, only py311-xapian-1.4.28 seems intractably recalcitrant. Any hints?
 
It appears to get pulled in when DOCS is enabled. So you could simply disable this option and circumvent the issue.

Code:
DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
DOCS_EXTRA_PATCHES_OFF=	${PATCHDIR}/extra-patch-python3-Makefile.in
Not sure why it's not working correctly on your system, the port itself apparently builds fine on the package build servers.
 
Thanks for the suggestion and it makes perfect sense, but DOCS are disabled already.

1747073407525.png


I could upload the port build log, it might have a further hint as to why it's going wonky for me - it could be some make.conf option and perhaps the next step would be to disable all optimizations and try a build just to see if that narrows it down a bit. Or... maybe I could try toggling DOCS on just to contrary.
 
Tried setting build docs just for testing, no difference in outcome (still failed, same error). I'll try a plain make.conf next.
 
but DOCS are disabled already.
Right. Turn it back on then. It looks like that extra-patch-python3-Makefile.in doesn't apply properly (or isn't complete), causing the error with ./configure. That's apparently still looking for py-sphinx, which isn't installed because the DOCS option was turned off.

The option is on by default, that's probably why the FreeBSD package builders don't have an issue building it.
 
Thank you very much for the help. I tried changing the config option but it keeps resetting to off: I unset DOCS in make.conf as some of the doc formats pull in a lot of dependencies which seems to make it impossible to manually set DOCS on without rebuilding all 1136 ports. py-sphinx is being built, I explicitly listed it trying to debug this back in 14.1 and gave up then too.
 
Back
Top