Build errors in Python packages with compiled extensions

Christian Ullrich chris at chrullrich.net
Tue Dec 22 19:47:41 UTC 2020


Hello,

I have started to notice poudriere builds of Python ports with compiled extensions failing:

[00:00:11] /usr/bin/strip /wrkdirs/usr/ports/devel/py-cffi/work-py38/stage/usr/local/lib/python3.8/site-packages/_cffi_backend.so
[00:00:11] strip: open /wrkdirs/usr/ports/devel/py-cffi/work-py38/stage/usr/local/lib/python3.8/site-packages/_cffi_backend.so failed: No such file or directory

The reason is that setuptools puts a version tag (aka cache tag) into the .so's name; in this case it is actually _cffi_backend.cpython-38.so . The strip command, on the other hand, is in the port Makefile's post-install target and has the file name as above, without the version.

This tag is to be available in Uses/python.mk as $PYMAGICTAG, e.g. "cpython-38".

I'm not sure whether I'm not doing something wrong that causes the tag to end up in the .so file names. The last update to devel/py-setuptools was a while ago (to 44.0 in January 2020), and someone would probably have noticed since. On the other hand, this _is_ poudriere, so the build environments are pretty well isolated.

Anyone know what is going on?


-- 
Christian


More information about the freebsd-ports mailing list