Skip to content

Problems finding Python on manylinux #472

@burgholzer

Description

@burgholzer

Scikit-build-core seems to have problems finding Python on manylinux containers since recently.
A simple example demonstrating the problem:

git clone https://github.com/pybind/scikit_build_example
cd scikit_build_example
pipx run cibuildwheel --platform linux

results in many warnings of the sort

 *** scikit-build-core 0.4.8 using CMake 3.27.1 (wheel)
 *** Configuring CMake...
 2023-08-21 06:43:26,999 - scikit_build_core - WARNING - libdir/ldlibrary: /opt/_internal/cpython-3.8.17/lib/libpython3.8.a is not a real file!
 2023-08-21 06:43:27,000 - scikit_build_core - WARNING - Can't find a Python library, got libdir=/opt/_internal/cpython-3.8.17/lib, ldlibrary=libpython3.8.a, multiarch=aarch64-linux-gnu, masd=None

These errors seem to have appeared when CMake 3.27 was released, although I am not 100% certain that's the issue here. Most likely something related to the newer FindPython becoming the default.

I am currently in the process of migrating some of the tools we develop from setuptools to scikit-build-core (see, e.g., munich-quantum-toolkit/qcec#301) and cibuildwheel on linux keeps failing on me. From the logs (https://github.com/cda-tum/mqt-qcec/actions/runs/5922551488/job/16056693817?pr=301#step:4:257), I can extract the following

-- pybind11 v2.12.0 dev1
  CMake Error at /opt/_internal/pipx/venvs/cmake/lib/python3.10/site-packages/cmake/data/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
    Could NOT find Python (missing: Python_LIBRARIES Development
    Development.Embed) (found suitable version "3.8.17", minimum required is
    "3.6")
  Call Stack (most recent call first):
    /opt/_internal/pipx/venvs/cmake/lib/python3.10/site-packages/cmake/data/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
    /opt/_internal/pipx/venvs/cmake/lib/python3.10/site-packages/cmake/data/share/cmake-3.27/Modules/FindPython/Support.cmake:3824 (find_package_handle_standard_args)
    /opt/_internal/pipx/venvs/cmake/lib/python3.10/site-packages/cmake/data/share/cmake-3.27/Modules/FindPython.cmake:574 (include)
    extern/mqt-core/extern/pybind11/tools/pybind11NewTools.cmake:35 (find_package)
    extern/mqt-core/extern/pybind11/tools/pybind11Common.cmake:183 (include)
    extern/mqt-core/extern/pybind11/CMakeLists.txt:210 (include)

which kind of points to pybind11 not being able to correctly detect Python. So maybe that's a separate issue.

Any help is appreciated!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions