Solved devel/py-build error while updating ports

I have issue with several python packages while trying to update installed ports which make me unable to fully update all installed ports, here is the error I get :

Code:
===>>> Returning to dependency check for devel/py-build@py311
===>>> Dependency check complete for devel/py-build@py311

===>>> All >> atomicparsley-20240608.083822.1ed9031 >> cmake-core-3.31.10_1 >> jsoncpp-1.9.6_1 >> meson-1.10.2 >> py311-build-1.4.2 (20/3888)

===>  Cleaning for py311-build-1.4.2
/!\ WARNING /!\

You have security/openssl installed but do not have
DEFAULT_VERSIONS+=ssl=openssl set in your make.conf

===>  License MIT accepted by the user
===>   py311-build-1.4.2 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py311-build-1.4.2 for building
===>  Extracting for py311-build-1.4.2
=> SHA256 Checksum OK for build-1.4.2.tar.gz.
===>  Patching for py311-build-1.4.2
===>   py311-build-1.4.2 depends on file: /usr/local/bin/python3.11 - found
===>   py311-build-1.4.2 depends on package: py311-flit-core>=3.11 - found
===>   py311-build-1.4.2 depends on package: py311-installer>=0 - found
===>  Configuring for py311-build-1.4.2
===>  Building for py311-build-1.4.2
Building wheel from /usr/ports/devel/py-build/work-py311/build-1.4.2
Wheel built /usr/ports/devel/py-build/work-py311/build-1.4.2/dist/build-1.4.2-py3-none-any.whl
===>>> Building the port required 10 seconds
===>  Staging for py311-build-1.4.2
===>   Generating temporary packing list
===> Creating unique files: Move MAN files needing SUFFIX
===> Creating unique files: Move files needing SUFFIX
Makefile error: UNIQUE (suffix): bin/pyproject-build not found
*** Error code 1

Stop.
make: stopped making "stage" in /usr/ports/devel/py-build

===>>> make stage failed for devel/py-build@py311
===>>> Aborting update

===>>> Update for py311-build-1.4.2 failed
===>>> Aborting update

===>>> Update for meson-1.10.2 failed
===>>> Aborting update

===>>> Update for jsoncpp-1.9.6_1 failed
===>>> Aborting update

===>>> Update for cmake-core-3.31.10_1 failed
===>>> Aborting update

===>>> Update for multimedia/atomicparsley failed
===>>> Aborting update

===>>> There are messages from installed ports to display,
       but first take a moment to review the error messages
       above.  Then press Enter when ready to proceed.

===>>> pkg-message for python311-3.11.15_2
On install:
Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:

py311-gdbm       databases/py-gdbm@py311
py311-sqlite3    databases/py-sqlite3@py311
py311-tkinter    x11-toolkits/py-tkinter@py311

I use portmaster -af on freebsd 15p2. My goal is to update all ports before upgrading freebsd.
 
A few things... first thing I noticed:
You have security/openssl installed but do not have<br>DEFAULT_VERSIONS+=ssl=openssl set in your make.conf
If you're building from the ports collection then always make sure that your /etc/make.conf file is in proper order, especially when your build process starts to spit out warnings. See also /usr/ports/Mk/bsd.default-versions.mk. Note that I'm not claiming that this is related to your current issue, but it could be indirectly related.

Second... always check the dependencies of a port, if something doesn't build properly then you may want to check the build dependencies using make build-depends-list. You can even easily utilize this with Portmaster in order to specifically rebuild the build dependencies too: # portmaster -x pkg `make build-depends-list`; obviously started from within the port directory itself. I always ignore pkg (and often also ccache) because it doesn't need rebuilding.

Alas, I also had issues like these and it's kinda weird because it seems to be a circular dependency. However, it isn't:

Code:
root@zefiris:/usr/ports/devel/py-build # which pyproject-build
/usr/local/bin/pyproject-build
root@zefiris:/usr/ports/devel/py-build # pkg which `which pyproject-build`
/usr/local/bin/pyproject-build was installed by package py313-build-1.4.2
 
Funny... seems like I'm not alone.... same issue:

 
What fix the issue for me, but its tedious, is each time I get a python error I go to the directory and make clean and make reinstall and after that I rerun pormaster -a

edit: doesn't work all the time for example it don't work with math/py-numpy1
 
A few things... first thing I noticed:

If you're building from the ports collection then always make sure that your /etc/make.conf file is in proper order, especially when your build process starts to spit out warnings. See also /usr/ports/Mk/bsd.default-versions.mk. Note that I'm not claiming that this is related to your current issue, but it could be indirectly related.

Second... always check the dependencies of a port, if something doesn't build properly then you may want to check the build dependencies using make build-depends-list. You can even easily utilize this with Portmaster in order to specifically rebuild the build dependencies too: # portmaster -x pkg `make build-depends-list`; obviously started from within the port directory itself. I always ignore pkg (and often also ccache) because it doesn't need rebuilding.

Alas, I also had issues like these and it's kinda weird because it seems to be a circular dependency. However, it isn't:

Code:
root@zefiris:/usr/ports/devel/py-build # which pyproject-build
/usr/local/bin/pyproject-build
root@zefiris:/usr/ports/devel/py-build # pkg which `which pyproject-build`
/usr/local/bin/pyproject-build was installed by package py313-build-1.4.2
thanks I'll take notes.
 
In the case of py-numpy1 it conflict with py-numpy and pkg don't seem to find math/py-numpy1
Reinstalling math/py-numpy seem to have resolved it.
 
Is this line for something ? :
Dependency lines:
  • ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR}
 
Back
Top