tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Packages using more than their assigned MAKE_JOBS



* On 2026-08-06 at 22:40 BST, Jonathan Perkin wrote:

 package                          granted  achieved   over
 py313-duckdb                        3        27.3     9.1x
 py314-duckdb                        3        13.0     4.3x
 py312-duckdb                        3        12.0     4.0x

I found the cause for this, and probably others, but it's an open question on how best to fix it.

The issue is py-scikit-build-core which is the build system for this. It delegates to cmake and ninja, and ninja ultimately uses all cores by default (and when building 4 versions of py-duckdb simultaneously in bulk builds, 4x all cores on the host, plus all the other builds, which is enough to kill jenkins.jar for me a few times...)

The stupid fix is to add:

  lang/python/wheel.mk:
  MAKE_ENV+=     CMAKE_BUILD_PARALLEL_LEVEL=${MAKE_JOBS:U1}
which is what I've verified to at least work.

A better fix might be to add this to devel/cmake or mk/tools/cmake.mk, or a best fix might be a new build.mk or something for dependencies of py-scikit-build-core to include. Basically I'm concerned about adding the flag when it is not required, we should be limiting blast radius and explicitly documenting it in the correct place.

There are currently lots of different ways that cmake is pulled in (USE_TOOLS vs TOOLS_DEPENDS vs include devel/cmake/*) and it's unclear where to put this and have it activated correctly.

--
Jonathan Perkin                    pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com


Home | Main Index | Thread Index | Old Index