Building armarx/VisionX fails on ubuntu24
Bug Report
Summary and Bug Description
VisionX doesn't build because it depends on a library called pcl
which in turn depends on vtk
. Vtk is an axii module dependency but it seems like it is not using it but rather the locally installed one which is not includable with #include <vtkSmartPointer.h>
but rather #include <vtk-9.1/vtkSmartPointer.h>
.
Current Behavior
error at the include of vtk
Expected Behavior
Build normally
Steps to Reproduce
- Log into the ubuntu24 Pc
- Checkout into the ubuntu-24-changes branch of axii
- try building
armarx/visionx
Diagnosis
Output of axii self report
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Scope ┃ Info ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Axii │ Axii 24.07.2.0 @ubuntu-24-changes-0 with shell integration │
│ OS │ Ubuntu 24.04.1 LTS │
│ Kernel │ Linux 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 │
│ │ 10:34:03 UTC 2024 x86_64 GNU/Linux │
│ Shell │ /bin/bash │
│ Python │ Python 3.12.3 │
│ Pip │ certifi==2024.7.4, charset-normalizer==2.0.12, click==8.0.0, │
│ │ commonmark==0.9.1, cycler==0.12.1, dbus-python==1.2.18, │
│ │ decorator==5.1.1, distro==1.7.0, fonttools==4.53.1, gitdb==4.0.11, │
│ │ GitPython==3.1.18, idna==3.7, igraph==0.9.11, kiwisolver==1.4.5, │
│ │ matplotlib==3.5.0, networkx==2.5, notify2==0.3.1, numpy==1.26.0, │
│ │ packaging==24.1, pillow==10.4.0, psutil==5.9.4, Pygments==2.18.0, │
│ │ pygraphviz==1.6, pyparsing==3.1.2, PyQt5==5.15.0, │
│ │ PyQt5_sip==12.15.0, python-dateutil==2.9.0.post0, │
│ │ python-igraph==0.9.11, python-Levenshtein==0.12.2, │
│ │ requests==2.26.0, rich==12.6.0, rich-click==1.2.1, │
│ │ setuptools==72.2.0, six==1.16.0, smmap==5.0.1, texttable==1.7.0, │
│ │ thefuzz==0.19.0, urllib3==1.26.19, wheel==0.44.0, xdg==5.1.1 │
└────────┴─────────────────────────────────────────────────────────────────────┘
More Relevant Logs or Screenshots
Relevant log of the build process
[ 91%] Building CXX object source/VisionX/gui-plugins/SemanticRelationViewer/CMakeFiles/SemanticRelationViewerGuiPlugin.dir/SemanticGraphGlobalItem.cpp.o
❗ In file included from /usr/include/pcl-1.14/pcl/visualization/common/actor_map.h:40,
❗ from /usr/include/pcl-1.14/pcl/visualization/pcl_visualizer.h:48,
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/gui-plugins/PointCloudViewer/WidgetController.h:35,
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/gui-plugins/PointCloudViewer/GuiPlugin.cpp:27:
❗ /usr/include/pcl-1.14/pcl/visualization/point_cloud_geometry_handlers.h:49:10: fatal error: vtkSmartPointer.h: Datei oder Verzeichnis nicht gefunden
❗ 49 | #include
❗ | ^~~~~~~~~~~~~~~~~~~
❗ compilation terminated.
[ 91%] Linking CXX shared library ../../../../lib/libSemanticRelationViewerGuiPlugin.so
❗ gmake[2]: *** [source/VisionX/gui-plugins/PointCloudViewer/CMakeFiles/PointCloudViewerGuiPlugin.dir/build.make:97: source/VisionX/gui-plugins/PointCloudViewer/CMakeFiles/PointCloudViewerGuiPlugin.dir/GuiPlugin.cpp.o] Fehler 1
[ 91%] Building CXX object source/VisionX/gui-plugins/LookAtClick/CMakeFiles/LookAtClickGuiPlugin.dir/LookAtClickWidgetController.cpp.o
[ 91%] Built target VisionMemoryRun
[ 91%] Automatic MOC and UIC for target SelectableImageViewer
[ 91%] Built target SelectableImageViewer_autogen
[ 91%] Building CXX object source/VisionX/gui-plugins/LookAtClick/CMakeFiles/LookAtClickGuiPlugin.dir/LookAtClick.cpp.o
[ 92%] Building CXX object source/VisionX/components/image_processor/ArMarkerLocalizerOpenCV/CMakeFiles/ArMarkerLocalizerOpenCVRun.dir/generated_main/ArMarkerLocalizerOpenCVRun.cpp.o
❗ In file included from /usr/include/pcl-1.14/pcl/visualization/common/actor_map.h:40,
❗ from /usr/include/pcl-1.14/pcl/visualization/pcl_visualizer.h:48,
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/gui-plugins/PointCloudViewer/WidgetController.h:35,
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/gui-plugins/PointCloudViewer/WidgetController.cpp:25:
❗ /usr/include/pcl-1.14/pcl/visualization/point_cloud_geometry_handlers.h:49:10: fatal error: vtkSmartPointer.h: Datei oder Verzeichnis nicht gefunden
❗ 49 | #include
❗ | ^~~~~~~~~~~~~~~~~~~
❗ compilation terminated.
❗ gmake[2]: *** [source/VisionX/gui-plugins/PointCloudViewer/CMakeFiles/PointCloudViewerGuiPlugin.dir/build.make:111: source/VisionX/gui-plugins/PointCloudViewer/CMakeFiles/PointCloudViewerGuiPlugin.dir/WidgetController.cpp.o] Fehler 1
❗ gmake[1]: *** [CMakeFiles/Makefile2:15620: source/VisionX/gui-plugins/PointCloudViewer/CMakeFiles/PointCloudViewerGuiPlugin.dir/all] Fehler 2
❗ gmake[1]: *** Auf noch nicht beendete Prozesse wird gewartet …
[ 92%] Linking CXX executable ../../../../bin/ArMarkerExternalCameraCalibrationAppRun
Checking qt moc includes
[ 92%] Built target SemanticRelationViewerGuiPlugin
[ 92%] Linking CXX executable ../../../../bin/PersonMemoryDebuggerAppRun
❗ In file included from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/PrimitiveShapeConstructor.h:3,
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/RansacShapeDetector.h:4,
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSACPrimitiveExtractor.cpp:196:
❗ /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/PrimitiveShape.h:60:26: warning: ‘virtual unsigned int PrimitiveShape::ConfidenceTests(unsigned int, float, float, float, const PointCloud&, const MiscLib::Vector&) const’ was hidden [-Woverloaded-virtual=]
❗ 60 | virtual unsigned int ConfidenceTests(unsigned int numTests,
❗ | ^~~~~~~~~~~~~~~
❗ In file included from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/BitmapPrimitiveShape.h:3,
[ 92%] Linking CXX shared library ../../../../../lib/libEfficientRANSACPrimitiveExtractor.so
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/PlanePrimitiveShape.h:3,
❗ from /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSACPrimitiveExtractor.cpp:198:
❗ /home/h2t-armar-user/ubuntu24/armarx/VisionX/source/VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/BasePrimitiveShape.h:17:18: note: by ‘BasePrimitiveShape::ConfidenceTests(unsigned int, float, float, float, const PointCloud&, const MiscLib::Vector&) const’
❗ 17 | unsigned int ConfidenceTests(unsigned int numTests, float epsilon,
❗ | ^~~~~~~~~~~~~~~
[ 92%] Built target ArMarkerExternalCameraCalibrationAppRun
[ 92%] Linking CXX executable ../../../../../bin/CropRobotFromImageAppRun
[ 92%] Built target PersonMemoryDebuggerAppRun
[ 92%] Linking CXX shared library ../../../../lib/libShapesSupportRelations.so
[ 92%] Built target EfficientRANSACPrimitiveExtractor
[ 92%] Built target CropRobotFromImageAppRun
[ 92%] Linking CXX shared library ../../../../../lib/libPointCloudFilter.so
[ 92%] Built target ShapesSupportRelations
[ 92%] Linking CXX shared library ../../../../../lib/libFakePointCloudProvider.so
[ 92%] Built target PointCloudFilter
[ 92%] Linking CXX shared library ../../../../../lib/libMultiViewPointCloudProcessor.so
[ 92%] Built target FakePointCloudProvider
[ 92%] Built target MultiViewPointCloudProcessor
[ 93%] Linking CXX executable ../../../../../bin/FramedPointCloudTest
[ 93%] Built target FramedPointCloudTest
[ 93%] Linking CXX shared library ../../../../../lib/libArMemToPointCloudProvider.so
[ 93%] Built target ArMemToPointCloudProvider
[ 93%] Linking CXX executable ../../../../../bin/ObjectLearningByPushingRun
[ 93%] Linking CXX executable ../../../../../bin/LaserScannerPointCloudProviderAppRun
[ 93%] Built target ObjectLearningByPushingRun
[ 93%] Built target LaserScannerPointCloudProviderAppRun
[ 93%] Linking CXX executable ../../../../../bin/ArMarkerLocalizerOpenCVRun
[ 93%] Linking CXX shared library ../../../../lib/libLookAtClickGuiPlugin.so
[ 93%] Linking CXX executable ../../../../../bin/PointCloudToArVizAppRun
[ 93%] Built target ArMarkerLocalizerOpenCVRun
Checking qt moc includes
[ 93%] Built target LookAtClickGuiPlugin
[ 93%] Built target PointCloudToArVizAppRun
[ 93%] Linking CXX shared library ../../../../../../lib/libHumanMemory.so
[ 93%] Built target HumanMemory
[ 93%] Linking CXX executable ../../../../../bin/ArMarkerExternalCameraCalibrationTest
[ 93%] Built target ArMarkerExternalCameraCalibrationTest
[ 93%] Linking CXX executable ../../../../../../bin/CropRobotFromImageTest
[ 93%] Built target CropRobotFromImageTest
[ 93%] Linking CXX executable ../../../../../../bin/LaserScannerPointCloudProviderTest
[ 93%] Built target LaserScannerPointCloudProviderTest
❗ gmake: *** [Makefile:166: all] Fehler 2
────────────────────────────────────────────────────────────────────────────────────────── Command exited - Return code 2 ───────────────────────────────────────────────────────────────────────────────────────────
❗ Error: Failed to execute step 'build' on module 'armarx/VisionX': Command exited with return code 2.
[▽ ubuntu24] h2t-armar-user@pc107:~/axii$ cd
The top include was added by me to see how it would need to look like for it to work. The include with the error is the one which is in the library by default.