Summary
I previously used NumbaMinpack on Fedora 34 with Python 3.11 without any issues. After upgrading to Fedora 42, I am unable to install or import the package successfully on a clean system with Python 3.13.
Environment
- OS: Fedora 42 (fresh install)
- Python: 3.13 (inside a clean virtualenv)
- Packages:
- cmake: 3.31.6
- llvmlite: 0.44.0
- numba: 0.61.2
- numpy: 2.2.6
- packaging: 25.0
- scikit-build: 0.18.1
- setuptools: 80.9.0
- wheel: 0.45.1
Steps to Reproduce
- Create a fresh Python 3.13 virtual environment.
- Install required dependencies (listed above)
- Run:
Problem encountered
- The build fails with a CMake configuration error:
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
...
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
...
An error occurred while configuring with CMake.
Command:
/tmp/pip-build-env-0c0w1llb/overlay/lib64/python3.13/site-packages/cmake/data/bin/cmake /tmp/pip-install-6svpjrw2/numbaminpack_6c843040739d4851ab386035fd4601c7 -G Ninja -DCMAKE_MAKE_PROGRAM:FILEPATH=ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-6svpjrw2/numbaminpack_6c843040739d4851ab386035fd4601c7/_skbuild/linux-x86_64-3.13/cmake-install -DPYTHON_VERSION_STRING:STRING=3.13.5 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-0c0w1llb/overlay/lib/python3.13/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/home/probitjk/.virtualenvs/general/bin/python -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.13 -DPYTHON_LIBRARY:PATH=/usr/lib64/libpython3.13.so -DPython_EXECUTABLE:PATH=/home/probitjk/.virtualenvs/general/bin/python -DPython_ROOT_DIR:PATH=/home/probitjk/.virtualenvs/general -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.13 -DPython3_EXECUTABLE:PATH=/home/probitjk/.virtualenvs/general/bin/python -DPython3_ROOT_DIR:PATH=/home/probitjk/.virtualenvs/general -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.13 -DCMAKE_MAKE_PROGRAM:FILEPATH=ninja -DSKBUILD=ON -DCMAKE_BUILD_TYPE:STRING=Release
Source directory:
/tmp/pip-install-6svpjrw2/numbaminpack_6c843040739d4851ab386035fd4601c7
Working directory:
/tmp/pip-install-6svpjrw2/numbaminpack_6c843040739d4851ab386035fd4601c7/_skbuild/linux-x86_64-3.13/cmake-build
Please see CMake's output for more information.
- The build failure was bypassed by installing with:
pip install --no-build-isolation NumbaMinpack
which leads to successful installation
- However importing the package using
python -c "import NumbaMinpack" results in:
OSError: /home/probitjk/.virtualenvs/general/lib/python3.13/site-packages/NumbaMinpack/libminpack.so: cannot enable executable stack as shared object requires: Invalid argument
- Using
execstack -c <path/to/installed/.so/file> (as suggested for similar issues on StackOverflow) allows for the package to get imported, but any call to lmdif or hybrd (following the example in README) causes an immediate segmentation fault.
Installing from source
- Using
pip install -e . fails with the same CMake configuration error.
- Adding
--no-build-isolation to the install command leads to successful installation, but produces the same OSError when imported. Patching with execstack -c leads to segmentation fault again.
I rely heavily on NumbaMinpack and would appreciate any pointers on how to get it working on the Fedora 42 + Python 3.13 setup.
I can test potential fixes and provide additional logs if required.
Summary
I previously used NumbaMinpack on Fedora 34 with Python 3.11 without any issues. After upgrading to Fedora 42, I am unable to install or import the package successfully on a clean system with Python 3.13.
Environment
Steps to Reproduce
Problem encountered
which leads to successful installation
python -c "import NumbaMinpack"results in:execstack -c <path/to/installed/.so/file>(as suggested for similar issues on StackOverflow) allows for the package to get imported, but any call tolmdiforhybrd(following the example in README) causes an immediate segmentation fault.Installing from source
pip install -e .fails with the same CMake configuration error.--no-build-isolationto the install command leads to successful installation, but produces the sameOSErrorwhen imported. Patching withexecstack -cleads to segmentation fault again.I rely heavily on NumbaMinpack and would appreciate any pointers on how to get it working on the Fedora 42 + Python 3.13 setup.
I can test potential fixes and provide additional logs if required.