Reputation: 13
System: Ubuntu 22.04.4 LTS (from VMBox)
I have the newest version of pcl dev library installed on the system (1.12.1).
I'm trying to build this project for Android: https://github.com/luxonis/depthai-core/tree/develop with the option of OpenCV and PCL turned on. Without these two libraries, there's no problem building it. (important to note: I'm trying to build the version on the develop branch, because it has the option for pcl)
However, when I'm trying to build it with PCL and OpenCV, CMake seems to be unable to find the components for PCL. I'm a beginner with CMake, so I don't know for sure if it's a CMake problem or not.
Building command:
cmake -S. -Bbuild_android_shared -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-30
($NDK is specified as in the repo linked above)
When I tried to build first, got this error msg:
Then I helped cmake a little by adding to /usr/lib/x86_64-linux-gnu/cmake/pcl/Modules/FindEigen.cmake the PATH_SUFFIXES
line like this:
It helped CMake finding the eigen3, but then when I tried to build again, it was missing boost (common is required but boost was not found
). I couldn't fix this one manually like I did with eigen.
I recon there's a more general problem underlying, but I barely have any professional experience in all of the fields connected to this question, so I don't really know in which direction should I start sniffing.
Thank you so much in advance for the help!
Edit 1:
Based on @IBitMyBytes suggestion, I tried to build a basic PCL tutorial (https://pcl.readthedocs.io/projects/tutorials/en/master/using_pcl_pcl_config.html#using-pcl-pcl-config)
First it found eigen (and other modules), but in the end, for the io
component it didn't find it anymore.
CMake build console output:
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- -------------->
-- Checking for module 'eigen3'
-- Found eigen3, version 3.4.0
-- SEARCHING FOR EIGEN /usr/include/eigen3
-- Found Eigen: /usr/include/eigen3 (Required is at least version "3.1")
-- Eigen found (include: /usr/include/eigen3, version: 3.4.0)
-- -------------->
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.65.0") found components: system filesystem date_time iostreams serialization
-- --------------> Boost::system;Boost::filesystem;Boost::date_time;Boost::iostreams;Boost::serialization
-- Checking for module 'flann'
-- Found flann, version 1.9.1
-- Found FLANN: /usr/lib/x86_64-linux-gnu/libflann_cpp.so
-- FLANN found (include: /usr/include, lib: /usr/lib/x86_64-linux-gnu/libflann_cpp.so)
-- -------------->
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found GLEW: /usr/lib/x86_64-linux-gnu/libGLEW.so
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so found components: OpenGL GLX
-- Found MPI_C: /usr/lib/x86_64-linux-gnu/libmpi.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: C
-- Found JsonCpp: /usr/lib/x86_64-linux-gnu/libjsoncpp.so (found suitable version "1.9.5", minimum required is "0.7.0")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.37")
-- Found Eigen3: /usr/include/eigen3 (found version "3.4.0")
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found EXPAT: /usr/lib/x86_64-linux-gnu/libexpat.so (found version "2.4.7")
-- Found double-conversion: /usr/lib/x86_64-linux-gnu/libdouble-conversion.so
-- Found LZ4: /usr/lib/x86_64-linux-gnu/liblz4.so (found version "1.9.3")
-- Found LZMA: /usr/lib/x86_64-linux-gnu/liblzma.so (found version "5.2.5")
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version "80")
-- Found TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (found version "4.3.0")
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.11.1")
-- Found utf8cpp: /usr/include/utf8cpp
-- Checking for module 'libusb-1.0'
-- Found libusb-1.0, version 1.0.25
-- Found libusb: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Found OpenNI: /usr/lib/libOpenNI.so;libusb::libusb (found version "1.5.4.0")
-- OpenNI found (version: 1.5.4.0, include: /usr/include/ni, lib: /usr/lib/libOpenNI.so;libusb::libusb)
-- Found OpenNI2: /usr/lib/x86_64-linux-gnu/libOpenNI2.so;libusb::libusb (found version "2.2.0.33")
-- OpenNI2 found (version: 2.2.0.33, include: /usr/include/openni2, lib: /usr/lib/x86_64-linux-gnu/libOpenNI2.so;libusb::libusb)
** WARNING ** io features related to pcap will be disabled
-- --------------> /usr/lib/libOpenNI.so;libusb::libusb;/usr/lib/x86_64-linux-gnu/libOpenNI2.so;libusb::libusb;/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libz.so;VTK::ChartsCore;VTK::CommonColor;VTK::CommonComputationalGeometry;VTK::CommonCore;VTK::CommonDataModel;VTK::CommonExecutionModel;VTK::CommonMath;VTK::CommonMisc;VTK::CommonTransforms;VTK::FiltersCore;VTK::FiltersExtraction;VTK::FiltersGeneral;VTK::FiltersGeometry;VTK::FiltersModeling;VTK::FiltersSources;VTK::ImagingCore;VTK::ImagingSources;VTK::InteractionImage;VTK::InteractionStyle;VTK::InteractionWidgets;VTK::IOCore;VTK::IOGeometry;VTK::IOImage;VTK::IOLegacy;VTK::IOPLY;VTK::RenderingAnnotation;VTK::RenderingCore;VTK::RenderingContext2D;VTK::RenderingLOD;VTK::RenderingFreeType;VTK::ViewsCore;VTK::ViewsContext2D;VTK::RenderingOpenGL2;VTK::GUISupportQt
-- --------------> /usr/lib/libOpenNI.so;libusb::libusb;/usr/lib/x86_64-linux-gnu/libOpenNI2.so;libusb::libusb;/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libz.so;VTK::ChartsCore;VTK::CommonColor;VTK::CommonComputationalGeometry;VTK::CommonCore;VTK::CommonDataModel;VTK::CommonExecutionModel;VTK::CommonMath;VTK::CommonMisc;VTK::CommonTransforms;VTK::FiltersCore;VTK::FiltersExtraction;VTK::FiltersGeneral;VTK::FiltersGeometry;VTK::FiltersModeling;VTK::FiltersSources;VTK::ImagingCore;VTK::ImagingSources;VTK::InteractionImage;VTK::InteractionStyle;VTK::InteractionWidgets;VTK::IOCore;VTK::IOGeometry;VTK::IOImage;VTK::IOLegacy;VTK::IOPLY;VTK::RenderingAnnotation;VTK::RenderingCore;VTK::RenderingContext2D;VTK::RenderingLOD;VTK::RenderingFreeType;VTK::ViewsCore;VTK::ViewsContext2D;VTK::RenderingOpenGL2;VTK::GUISupportQt;Boost::system;Boost::filesystem;Boost::date_time;Boost::iostreams;Boost::serialization
-- SEARCHING FOR EIGEN /usr/include/eigen3
-- Could NOT find Eigen (missing: EIGEN_INCLUDE_DIR) (Required is at least version "3.1")
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:63 (message):
io is required but eigen was not found
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:357 (pcl_report_not_found)
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:546 (find_external_library)
CMakeLists.txt:3 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/myuser/GRANDPROJECT/build/CMakeFiles/CMakeOutput.log".
Upvotes: 0
Views: 366