-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Building ROS package depending on Open3D fails #4093
Comments
Have you tried to write your own FindOpen3D.cmake file? |
Not quite sure, how i would i go on writing a cmake file. If you got any directions to point me to, i can try. |
@xkaraman thanks for reporting this:
With plain You do not need to change Please see https://github.com/isl-org/open3d-cmake-find-package for details on using Open3D installed in a location. |
@ssheorey I am not trying anything with python as far as i know. i want to use the C++ Open3D library to build some ROS package. Catkin tool uses cmake as config/build mechanism. I am able to build plain c++ cmake packages with open3d as a dependency with no problems using the The problem here is with building along with ROS. I guess that open3d cmake define paths that messes up ROS/packages paths but i have nothing to back this up. Just the second and third example i quoted above. |
@xkaraman does using |
Nop it doesn't! Why should't i use |
What's the cmake output with |
As i already stated above i can compile fine using The problem arise when i use |
Can you provide a minimum example that lets us reproduce the error (ROS build scripts, sample code, commands)? |
Sure here is a detailed example. ROSROS is installed from Build and install Open3D.
Open3D is now installed in folder Build Open3D_conversions ROS package that depends on Open3DUnfortunately due to API changes in Open3D, we should modify
to
and line 252
to
Then we follow ROS methodology to build packages in a new workspace.
NoteWhen Open3D is installed in a standard location ie. /usr/local, |
Describe the bug
Trying to build a ROS package depending on Open3D. Open3d is built from source and installed on non root location. (e.g. ~/user/git/Open3d/install
Being a ROS package, CMakeLists.txt contains
find_package(catkin REQUIRED COMPONENTS roscpp)
and alsofind_package(Open3D REQUIRED)
.If i run,
catkin build
i get the erroras expected.
If i then run
catkin build -DCMAKE_PREFIX_PATH="~/git/Open3D/install/lib/cmake
i get the errorwhich is NOT expected.
Finally, if i
catkin build -DCMAKE_PREFIX_PATH="~/git/Open3D/install/lib/cmake
after a complete deletion ofdevel
,install
folders (catkin clean
), i get the errorwhich is not at all expected. Something probably messes up paths.
To Reproduce
Check abobe
Expected behavior
Projects depending on Open3D, can be built without erros and missing CMAKE config files.
Environment (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: