On Sat, Apr 5, 2025 at 3:00 AM Sandro <li...@penguinpee.nl> wrote: > > On 05-04-2025 00:45, Luya Tshimbalanga wrote: > > Hello team, > > > > I hit an issue when building openvdb on nanobind dependency which refuses > > to use python3-nanobind at the following: > > > > -- Found Python: /usr/bin/python3.13 (found version "3.13.2") found > > components: Development Interpreter Development.Module Development.Embed > > CMake Error at CMakeLists.txt:483 (find_package): > > By not providing "Findnanobind.cmake" in CMAKE_MODULE_PATH this project > > has > > asked CMake to find a package configuration file provided by "nanobind", > > but CMake did not find one. > > > > Could not find a package configuration file provided by "nanobind" with > > any > > of the following names: > > > > nanobindConfig.cmake > > nanobind-config.cmake > > > > Add the installation prefix of "nanobind" to CMAKE_PREFIX_PATH or set > > "nanobind_DIR" to a directory containing one of the above files. If > > "nanobind" provides a separate development package or SDK, be sure it has > > been installed. > > > > > > Trying to set "nanobind_DIR" does nothing. Can someone look at the issue?
You set it to /usr/lib64/python3.13/site-packages/nanobind/cmake but the nanobind package is noarch, so this should be /usr/lib/python3.13/site-packages/nanobind/cmake Also, upstream nanobind provides a small script to find the right path; upstream openvdb should probably be suggested to use that: $ python3 -c 'import nanobind; print(nanobind.cmake_dir())' /usr/lib/python3.13/site-packages/nanobind/cmake > > Here is the scratch build: > > https://koji.fedoraproject.org/koji/taskinfo?taskID=131112367 > The required CMake configuration for the build backend, > nanobind-config.cmake, is provided by python3-nanobind-devel. I think > that package should provide `cmake(nanobind)` as well, since using that > is what packaging guidelines recommend and it would make live easier to > find the required package. The CMake files are in the Python package directory (because the _Python_ packaging side is sandboxed), which is non-standard and wouldn't be found by CMake. Thus it doesn't and shouldn't provide the virtual name. If the Fedora packager patches it to install to a standard location, then adding `cmake(nanobind)` would make sense (and would automatically happen, too.) > -- Sandro > -- Elliott -- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue