Skip to content

RFE: Move python cmake target into its own namespace #6124

@morxa

Description

@morxa

Currently, the python bindings are installed into the same namespace as the main library. This is problematic for packaging on Fedora: Recently, we have added the python bindings and put them into a separate sub-package (python3-librealsense and python3-librealsense-devel). However, it is no longer possible to develop against librealsense (with librealsense-devel installed) without also having the python bindings installed. This is because the cmake target checks that all files are available. If the python bindings are packaged separately, then those files are missing if the package is not installed, resulting in errors as follows:

$ cmake ..
CMake Error at /usr/lib64/cmake/realsense2/realsense2Targets.cmake:89 (message):
  The imported target "realsense2::pyrealsense2" references the file

     "/usr/lib64/pyrealsense2.cpython-38-x86_64-linux-gnu.so.2.33.1"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib64/cmake/realsense2/realsense2Targets.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib64/cmake/realsense2/realsense2Config.cmake:45 (include)
  CMakeLists.txt:6 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/thofmann/test/librealsense-cmake/build/CMakeFiles/CMakeOutput.log".

This problem could be solved by moving the python bindings into a separate namespace, similar to librealsense-gl. However, I do not want to do this downstream, as it would deviate too much from upstream (i.e., your) naming conventions.

Would you be interested in such a split? If yes, I'd be happy to submit a PR.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions