isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
11.45k stars 2.31k forks source link

Cannot compile on Ubuntu 20.04 with Systme qhull #5886

Open triplehoon opened 1 year ago

triplehoon commented 1 year ago

Checklist

Steps to reproduce the issue

I first cloned Open3D by:

git clone https://github.com/isl-org/Open3D.git
cd Open3D

Then, I build Open3D (on Ubuntu 20.04, with qhull 8.0.2) with:

ccmake and enable using system qhull

Error message

[ 78%] Linking CXX executable ../../bin/ConvertPointCloud
/usr/bin/ld: ../../lib/Release/libOpen3D.a(Qhull.cpp.o): in function `open3d::geometry::Qhull::ComputeConvexHull(std::vector<Eigen::Matrix<double, 3, 1, 0, 3, 1>, std::allocator<Eigen::Matrix<double, 3, 1, 0, 3, 1> > > const&, bool)':
Qhull.cpp:(.text+0x4bd): undefined reference to `orgQhull::PointCoordinates::PointCoordinates(int, std::string const&)'
/usr/bin/ld: ../../lib/Release/libOpen3D.a(Qhull.cpp.o): in function `open3d::geometry::Qhull::ComputeDelaunayTetrahedralization(std::vector<Eigen::Matrix<double, 3, 1, 0, 3, 1>, std::allocator<Eigen::Matrix<double, 3, 1, 0, 3, 1> > > const&)':
Qhull.cpp:(.text+0x12d5): undefined reference to `orgQhull::PointCoordinates::PointCoordinates(int, std::string const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/tools/CMakeFiles/ConvertPointCloud.dir/build.make:169: bin/ConvertPointCloud] Error 1
make[1]: *** [CMakeFiles/Makefile2:3172: cpp/tools/CMakeFiles/ConvertPointCloud.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Open3D, Python and System information

- Operating system: Ubuntu 20.0
- Python version: Python 3.8 
- Open3D version: 1.6
- System architecture: x86
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): gcc 9.4

Additional information

I build from source with qhull 8.0.2 to make matching qhull version with pcl library.

korimac commented 9 months ago

@triplehoon - I'm also bumping into this issue. Did you come to any resolution?

triplehoon commented 9 months ago

@korimac Sorry, I do not have any solution that I can offer.

korimac commented 9 months ago

Thank you for the reply!

In case it helps anyone in the future, for my application I needed to link against libqhullcpp and libqhull_r instead of libqhull.