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

Reply via email to