This post was updated on .
Hey all!
I'm trying to build the latest on a new Rpi 3 B+, but I'm having all sorts of difficulties. I'm not super familiar with linux, though I can usually muddle through. I've installed the Rasbian Stretch image from NOOBS and followed the install instructions on the RTABMap github, but I get missing file errors in the cmake and make steps. I've googled around and installed random libraries from 'sudo apt-get install' and made some of the errors go away, but I'm not sure if it's actually fixed the problem, or if pre-compiled (bad) files are tricking it into thinking something which errored out actually compiled. I'm willing to wipe the sdcard and start from scratch (all I really did was set up some wifi switching/hotspot stuff). I found an img for a bundled Rasbian Stretch Lite+ OpenCV + ROS, but I don't know what the heck ROS is (robot operating system). Also, I'd prefer the Full GUI Stretch. I'm planning on using a Kinect to do 3d scans, and the Rpi as it's OS to make it (more) portable. I have a Windows PC and spare keyboard/mouse/HDMI screen, and I can set up ssh/vnc myself, later. I know this is all a bit (read: LOT) over my head, but if you all can help this old dog learn some new tricks, it would really help me out! |
Output of cmake and make:
pi@faltarian-pi:~/rtabmap/build $ cmake .. -- The C compiler identification is GNU 6.3.0 -- The CXX compiler identification is GNU 6.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Checking for module 'eigen3' -- Found eigen3, version 3.3.2 -- Found eigen: /usr/include/eigen3 -- Checking for module 'libopenni' -- Found libopenni, version 1.5.4.0 -- Found openni: /usr/lib/libOpenNI.so -- The imported target "vtkRenderingPythonTkWidgets" references the file "/usr/lib/arm-linux-gnueabihf/libvtkRenderingPythonTkWidgets.so" 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/lib/cmake/vtk-6.3/VTKTargets.cmake" but not all the files it references. -- The imported target "vtk" references the file "/usr/bin/vtk" 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/lib/cmake/vtk-6.3/VTKTargets.cmake" but not all the files it references. -- Found libusb-1.0: /usr/include -- Checking for module 'flann' -- Found flann, version 1.9.1 -- Found Flann: /usr/lib/arm-linux-gnueabihf/libflann_cpp_s.a -- Found qhull: /usr/lib/arm-linux-gnueabihf/libqhull.so -- Found PCL_COMMON: /usr/lib/arm-linux-gnueabihf/libpcl_common.so -- Found PCL_OCTREE: /usr/lib/arm-linux-gnueabihf/libpcl_octree.so -- Found PCL_IO: /usr/lib/arm-linux-gnueabihf/libpcl_io.so -- Found PCL_KDTREE: /usr/lib/arm-linux-gnueabihf/libpcl_kdtree.so -- Found PCL_SEARCH: /usr/lib/arm-linux-gnueabihf/libpcl_search.so -- Found PCL_SURFACE: /usr/lib/arm-linux-gnueabihf/libpcl_surface.so -- Found PCL_FILTERS: /usr/lib/arm-linux-gnueabihf/libpcl_filters.so -- Found PCL_2D: /usr/include/pcl-1.8 -- Found PCL_FEATURES: /usr/lib/arm-linux-gnueabihf/libpcl_features.so -- Found PCL_REGISTRATION: /usr/lib/arm-linux-gnueabihf/libpcl_registration.so -- Found PCL_SAMPLE_CONSENSUS: /usr/lib/arm-linux-gnueabihf/libpcl_sample_consensus.so -- Found PCL_GEOMETRY: /usr/include/pcl-1.8 -- Found PCL_ML: /usr/lib/arm-linux-gnueabihf/libpcl_ml.so -- Found PCL_SEGMENTATION: /usr/lib/arm-linux-gnueabihf/libpcl_segmentation.so -- Found PCL_VISUALIZATION: /usr/lib/arm-linux-gnueabihf/libpcl_visualization.so -- PCL definitions don't contain "-march=native", make sure all libraries using Eigen are also compiled without that flag to avoid some segmentation faults (with gdb referring to some Eigen functions). -- Found Sqlite3: /usr/include /usr/lib/arm-linux-gnueabihf/libsqlite3.so -- Try OpenMP C flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Success -- Try OpenMP CXX flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Success -- Found OpenMP: -fopenmp -- Found OpenMP -- Found OpenCV: /usr/local/include;/usr/local/include/opencv -- Found PCL: /usr/include/pcl-1.8;/usr/include/eigen3;/usr/include;/usr/include/ni;/usr/include/openni2;/usr/include/vtk-6.3;/usr/include/freetype2;/usr/lib/arm-linux-gnueabihf/openmpi/include/openmpi;/usr/lib/arm-linux-gnueabihf/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/arm-linux-gnueabihf/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/arm-linux-gnueabihf/openmpi/include;/usr/include/python2.7;/usr/include/arm-linux-gnueabihf;/usr/include/hdf5/openmpi;/usr/include/libxml2;/usr/include/jsoncpp;/usr/include/tcl -- Found ZLIB: /usr/include -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found -- Found Qt4: /usr/bin/qmake (found version "4.8.7") -- VTK_RENDERING_BACKEND=OpenGL -- Found Freenect: /usr/include -- Found OpenNI2: /usr/include/openni2 -- Found DC1394: /usr/include/dc1394 -- Could NOT find CSPARSE (missing: CSPARSE_INCLUDE_DIR CSPARSE_LIBRARY) -- FlyCapture2_INCLUDE_DIR=FlyCapture2_INCLUDE_DIR-NOTFOUND -- FlyCapture2_LIBRARY=FlyCapture2_LIBRARY-NOTFOUND -- Triclops_INCLUDE_DIR=Triclops_INCLUDE_DIR-NOTFOUND -- Triclops_LIBRARY=Triclops_LIBRARY-NOTFOUND -- FlyCaptureBridge_LIBRARY=FlyCaptureBridge_LIBRARY-NOTFOUND -- Found Pthreads -- -------------------------------------------- -- Info : -- Version : 0.18.1 -- CMAKE_INSTALL_PREFIX = /usr/local -- CMAKE_BUILD_TYPE = Release -- CMAKE_INSTALL_LIBDIR = lib -- BUILD_APP = ON -- BUILD_TOOLS = ON -- BUILD_EXAMPLES = ON -- BUILD_SHARED_LIBS = ON -- CMAKE_CXX_FLAGS = -fmessage-length=0 -fopenmp -- PCL_DEFINITIONS = -DEIGEN_USE_NEW_STDVECTOR;-DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET;-DFLANN_STATIC;-Dqh_QHpointer -- Optional dependencies ('*' affects some default parameters) : -- *With OpenCV 3 xfeatures2d module (SIFT/SURF/BRIEF/FREAK) = YES (License: Non commercial) -- With external SQLite3 = YES (License: Public Domain) -- With Freenect = YES (License: Apache v2 and/or GPLv2) -- With OpenNI2 = YES (License: Apache v2) -- With Freenect2 = NO (libfreenect2 not found) -- With Kinect for Windows 2 = NO (Kinect for Windows 2 SDK not found) -- With dc1394 = YES (License: LGPL) -- With FlyCapture2/Triclops = NO (Point Grey SDK not found) -- With TORO = YES (License: Creative Commons [Attribution-NonCommercial-ShareAlike]) -- *With g2o = NO (g2o not found) -- *With GTSAM = NO (GTSAM not found) -- With VERTIGO = NO (GTSAM or g2o required) -- With cvsba = NO (cvsba not found) -- *With libpointmatcher = NO (libpointmatcher not found) -- With loam_velodyne = NO (loam_velodyne not found) -- With ZED = NO (ZED sdk not found) -- With RealSense = NO (librealsense not found) -- With RealSense2 = NO (librealsense2 not found) -- With OCTOMAP = NO (octomap not found) -- With CPUTSDF = NO (CPUTSDF not found) -- With OpenChisel = NO (open_chisel not found) -- With libfovis = NO (libfovis not found) -- With libviso2 = NO (libviso2 not found) -- With dvo_core = NO (dvo_core not found) -- With okvis = NO (okvis not found) -- With msckf_vio = NO (WITH_MSCKF_VIO=OFF) -- With ORB_SLAM2 = NO (ORB_SLAM2 not found, make sure environment variable ORB_SLAM2_ROOT_DIR is set) -- With Qt4 = YES (License: Open Source or Commercial) -- -------------------------------------------- -- Configuring done -- Generating done -- Build files have been written to: /home/pi/rtabmap/build pi@faltarian-pi:~/rtabmap/build $ make Scanning dependencies of target rtabmap_utilite [ 1%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UEventsManager.cpp.o [ 1%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UEventsHandler.cpp.o [ 1%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UEventsSender.cpp.o [ 2%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UFile.cpp.o [ 2%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UDirectory.cpp.o [ 2%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UConversion.cpp.o [ 3%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/ULogger.cpp.o [ 3%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UThread.cpp.o [ 3%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UTimer.cpp.o [ 4%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UProcessInfo.cpp.o [ 4%] Building CXX object utilite/src/CMakeFiles/rtabmap_utilite.dir/UVariant.cpp.o [ 5%] Linking CXX shared library ../../../bin/librtabmap_utilite.so [ 5%] Built target rtabmap_utilite Scanning dependencies of target res_tool [ 6%] Building CXX object utilite/resource_generator/CMakeFiles/res_tool.dir/main.cpp.o [ 6%] Linking CXX executable ../../../bin/rtabmap-res_tool [ 6%] Built target res_tool [ 7%] [Creating resources] Using namespace=rtabmap Using target directory=/home/pi/rtabmap/build/corelib/src Input file "/home/pi/rtabmap/corelib/src/resources/DatabaseSchema.sql" size = 5748 bytes Output file "/home/pi/rtabmap/build/corelib/src/DatabaseSchema_sql.h" size = 11723 bytes Scanning dependencies of target rtabmap_core [ 7%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/Rtabmap.cpp.o c++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions. corelib/src/CMakeFiles/rtabmap_core.dir/build.make:67: recipe for target 'corelib/src/CMakeFiles/rtabmap_core.dir/Rtabmap.cpp.o' failed make[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/Rtabmap.cpp.o] Error 4 CMakeFiles/Makefile2:267: recipe for target 'corelib/src/CMakeFiles/rtabmap_core.dir/all' failed make[1]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2 |
Administrator
|
You may run out of memory. Increase swap memory size of rpi. See also https://github.com/introlab/rtabmap/issues/83
|
I'll give that a shot, thanks! Do I need to delete anything in the working directory to clear it all back up to scratch?
|
Administrator
|
You don't need to delete files. For reference, I've found the link to change swap size of RPI: https://wpitchoune.net/tricks/raspberry_pi3_increase_swap_size.html
$ sudo dphys-swapfile swapoff $ sudo vi /etc/dphys-swapfile CONF_SWAPSIZE=1024 $ sudo dphys-swapfile swapon |
I tried changing the swap size to 2000. Made a lot of difference! It got as far as 81%, then:[ 79%] Building CXX object guilib/src/CMakeFiles/rtabmap_gui.dir/__/include/rtabmap/gui/moc_TexturingState.cpp.o [ 79%] Building CXX object guilib/src/CMakeFiles/rtabmap_gui.dir/__/include/rtabmap/gui/moc_RecoveryState.cpp.o [ 79%] Building CXX object guilib/src/CMakeFiles/rtabmap_gui.dir/__/include/rtabmap/gui/moc_EditDepthArea.cpp.o [ 80%] Building CXX object guilib/src/CMakeFiles/rtabmap_gui.dir/qrc_GuiLib.cpp.o [ 80%] Linking CXX shared library ../../../bin/librtabmap_gui.so [ 80%] Built target rtabmap_gui [ 80%] Generating moc_ObjDeletionHandler.cpp Scanning dependencies of target rtabmap [ 81%] Building CXX object app/src/CMakeFiles/rtabmap.dir/main.cpp.o [ 81%] Building CXX object app/src/CMakeFiles/rtabmap.dir/moc_ObjDeletionHandler.cpp.o [ 81%] Linking CXX executable ../../../bin/rtabmap /usr/bin/ld: warning: libboost_system.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_system.so.1.62.0 /usr/bin/ld: warning: libboost_system.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_system.so.1.62.0 /usr/bin/ld: warning: libboost_system.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_system.so.1.62.0 /usr/bin/ld: warning: libboost_system.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_system.so.1.62.0 /usr/bin/ld: warning: libboost_thread.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_thread.so.1.62.0 /usr/bin/ld: warning: libboost_thread.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_thread.so.1.62.0 /usr/bin/ld: warning: libboost_thread.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_thread.so.1.62.0 /usr/bin/ld: warning: libboost_thread.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_common.so, may conflict with libboost_thread.so.1.62.0 /usr/bin/ld: warning: libboost_filesystem.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_filesystem.so.1.62.0 /usr/bin/ld: warning: libboost_filesystem.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_filesystem.so.1.62.0 /usr/bin/ld: warning: libboost_filesystem.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_filesystem.so.1.62.0 /usr/bin/ld: warning: libboost_filesystem.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_filesystem.so.1.62.0 /usr/bin/ld: warning: libboost_iostreams.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_iostreams.so.1.62.0 /usr/bin/ld: warning: libboost_iostreams.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_iostreams.so.1.62.0 /usr/bin/ld: warning: libboost_iostreams.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_iostreams.so.1.62.0 /usr/bin/ld: warning: libboost_iostreams.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_iostreams.so.1.62.0 /usr/bin/ld: warning: libboost_chrono.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_chrono.so.1.62.0 /usr/bin/ld: warning: libboost_chrono.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_chrono.so.1.62.0 /usr/bin/ld: warning: libboost_chrono.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_chrono.so.1.62.0 /usr/bin/ld: warning: libboost_chrono.so.1.61.0, needed by /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/libpcl_io.so, may conflict with libboost_chrono.so.1.62.0 ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::GetInteractor()' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::qt_metacast(char const*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::mouseMoveEvent(QMouseEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::isAutomaticImageCacheEnabled() const' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::setMaxRenderRateForImageCache(double)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::dragLeaveEvent(QDragLeaveEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::focusInEvent(QFocusEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `typeinfo for QVTKWidget' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::focusOutEvent(QFocusEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::dragEnterEvent(QDragEnterEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::mousePressEvent(QMouseEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::maxRenderRateForImageCache() const' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `non-virtual thunk to QVTKWidget::paintEngine() const' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::paintEngine() const' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::wheelEvent(QWheelEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::staticMetaObject' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::qt_metacall(QMetaObject::Call, int, void**)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::QVTKWidget(QWidget*, QFlags<Qt::WindowType>)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::event(QEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::paintCachedImage()' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::dragMoveEvent(QDragMoveEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::moveEvent(QMoveEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::leaveEvent(QEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::dropEvent(QDropEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::~QVTKWidget()' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::keyPressEvent(QKeyEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::cachedImage()' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::GetRenderWindow()' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::paintEvent(QPaintEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::showEvent(QShowEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::resizeEvent(QResizeEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::mouseReleaseEvent(QMouseEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::enterEvent(QEvent*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::SetRenderWindow(vtkRenderWindow*)' ../../../bin/librtabmap_gui.so.0.18.1: undefined reference to `QVTKWidget::setAutomaticImageCacheEnabled(bool)' collect2: error: ld returned 1 exit status app/src/CMakeFiles/rtabmap.dir/build.make:480: recipe for target '../bin/rtabmap' failed make[2]: *** [../bin/rtabmap] Error 1 CMakeFiles/Makefile2:416: recipe for target 'app/src/CMakeFiles/rtabmap.dir/all' failed make[1]: *** [app/src/CMakeFiles/rtabmap.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2 pi@faltarian-pi:~/rtabmap/build $ -- The imported target "vtkRenderingPythonTkWidgets" references the file
|
Administrator
|
This post was updated on .
See http://official-rtab-map-forum.206.s1.nabble.com/To-link-QVTKWidget-library-td3336.html
There are a couple of info missing, which vtk version is used? Is it built with Qt support? |
This post was updated on .
I... don't know what to do with that information. The link posted is mostly opaque to me. I looked though the CMakeLists.txt file and it does contain (SET(PCL_LIBRARIES "${PCL_LIBRARIES};vtkGUISupportQt")) as mentioned in the bottom of the post, in the appropriate area.
IIRC, libqt4-dev is one of the packages I installed. How would I check which version of vtk I have, if any? P.S. pi@faltarian-pi:/usr/bin $ ls *vtk* pvtk vtkEncodeString-6.3 vtkWrapHierarchy-6.3 vtkWrapTcl-6.3 pvtkpython vtkHashSource-6.3 vtkWrapJava-6.3 vtkWrapTclInit-6.3 vtk6 vtkParseJava-6.3 vtkWrapPython-6.3 vtk6python vtkParseOGLExt-6.3 vtkWrapPythonInit-6.3 pi@faltarian-pi:/usr/bin $ |
Administrator
|
Can you do:
$ make VERBOSE=1 and copy all the linker libraries used here. For example on my computer I have also vtk6, there should be a libvtkGUISupportQt in the list of the linker. [ 80%] Linking CXX executable ../../../bin/rtabmap ... /usr/lib/x86_64-linux-gnu/libvtkGUISupportQt-6.2.so.6.2.0 ... cheers, Mathieu |
pi@faltarian-pi:~/rtabmap/build $ make VERBOSE=1
|
Administrator
|
The vtk binary version on arm-linux-gnueabihf seems not coming with Qt integration. Can you find libvtkGUISupportQt on the RPI? If not, you may have to build vtk from source and make sure Qt support is enabled in its cmake.
cheers, Mathieu |
This post was updated on .
pi@faltarian-pi:~ $ cd /
pi@faltarian-pi:/ $ ls -R *libvtkGUISupportQt* ls: cannot access '*libvtkGUISupportQt*': No such file or directory pi@faltarian-pi:/ $ would this be a good guide to use to install vtk + Qt? Which version of Qt? also: do I need to 'make install' at the end? |
Administrator
|
Uninstall vtk binaries. I would try with the qt version already installed, and yes, you can follow the vtk cmake line to build with qt support.
Important, I recommand to use vtk6, not latest version. You should do make install. You may also have to rebuild PCL from source to link on the vtk built from source. Cheers, Mathieu |
This post was updated on .
Turkey-day in the US, but brother-in-law is visiting, so I'm hiding! (it's also my birthday tomorrow, so my prerogative!) My Thanks, this day, go out to you, Mathieu! Please take your time responding and enjoy time with family/friends!
pi@faltarian-pi:~ $ sudo apt list --installed | grep -i vtk WARNING: apt does not have a stable CLI interface. Use with caution in scripts. libvtk6-dev/stable,now 6.3.0+dfsg1-5 armhf [installed] libvtk6-java/stable,now 6.3.0+dfsg1-5 armhf [installed,automatic] libvtk6-jni/stable,now 6.3.0+dfsg1-5 armhf [installed,automatic] libvtk6-qt-dev/stable,now 6.3.0+dfsg1-5 armhf [installed] libvtk6.3/stable,now 6.3.0+dfsg1-5 armhf [installed] libvtk6.3-qt/stable,now 6.3.0+dfsg1-5 armhf [installed] python-vtk6/stable,now 6.3.0+dfsg1-5 armhf [installed,automatic] tcl-vtk6/stable,now 6.3.0+dfsg1-5 armhf [installed,automatic] vtk6/stable,now 6.3.0+dfsg1-5 armhf [installed] pi@faltarian-pi:~ $ Which one/s should I remove? Also: Does building produce a .deb? If so, where can I find it. I'd like to back it up to my archives so I don't have to build from source if I decide to go back to base Raspbian. The more I look at this guide, the more I realize that I probably won't be able to follow it... Like: or I'm beginning to think spiteful things about Linux... again... Linux! You can do anything! But... You have to do everything! so... you can't actually do anything! Do you have any suggestions for a better guide? |
Administrator
|
Hi and happy birthday!
Solution A (fast approach): Did you try this guide first to avoid recompiling the dependencies? https://github.com/introlab/rtabmap/wiki/Installation#raspberrypi $ sudo apt-get install libpcl-dev libopencv-dev cmake libfreenect-dev libopenni2-dev libsqlite3-dev libqt4-dev $ git clone https://github.com/introlab/rtabmap.git rtabmap $ cd rtabmap/build $ cmake .. $ makeIf it doesn't work, I'll try to get my hands on a RPI3 to update the guide if something is broken. Solution B (long approach): You can uninstall vtk binaries like this: $ sudo apt-get remove libvtk* To build/install vtk with Qt support: $ git clone https://gitlab.kitware.com/vtk/vtk.git $ cd VTK $ git checkout v6.3.0 $ mkdir build $ cd build $ cmake -DVTK_Group_Qt:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=Release .. $ make $ sudo make installI don't think you need to specify "-DQT_QMAKE_EXECUTABLE:PATH='path/to/qmake'", it should be able to find it if qmake is in a path in PATH environment variable. By removing vtk binaries, this may have removed PCL binaries. To build PCL 1.7.2: $ cd pcl-1.7.X-src $ mkdir build $ cd build $ cmake -DCMAKE_BUILD_TYPE=Release .. $ make $ sudo make installAfter cmake, make sure visualization module is selected to be built. Then go try building rtabmap. cheers, Mathieu |
This post was updated on .
PCL failed with:
VTK also failed to compile, but I may have found the reason for that. I've applied a .patch (Here) and will see what that does. Aaaaaand: Might This be relevant? If so, how do I apply it as a .patch? (the .patch I applied before is here. p.s. the big reason I'm seeing this through the frustration (It took like 6 hours to get as far as it got last night with pcl, I gave up watching and went to be at 47%, and it fails at 52% grrrrrrrr......) is because I'm hoping some of this might help you fix the build instruction/dependencies/whatever. If you need me to experiment or want to ssh in to the pi, that'd be fine by me! This being the newest Rpi, and the newest Raspbian, and Microsoft releasing the Kinect-on-a-board sometime in the nearish future, I expect demand for rtabmap on the pi to increase. It'd be good to get this all figured out before then, so I'm volunteering as a guinea pig! |
Administrator
|
This post was updated on .
Hi,
I have an original RPI3 to try on. First thing I see is that PCL version on debian has been upgraded to 1.8, which means that vtk with Qt is not installed when installing libpcl-dev. We should explicitly install libvtk6-qt-dev. I changed the guide to this: $ sudo apt-get install libpcl-dev libopencv-dev cmake libfreenect-dev libopenni2-dev libsqlite3-dev libvtk6-qt-devlibvtkGUISupportQt should be installed here: /usr/lib/arm-linux-gnueabihf/libvtkGUISupportQt-6.3.soI am compiling rtabmap on RPI3 now, I'll see tomorrow if it is a success or not. I'll send an update. Note on performance on RPI3, as stated on the guide: For this reason, I would recommend to use rtabmap on RPI for the mapping node (at 1 Hz) with external odometry. cheers, Mathieu |
Meaning that I'd capture data on the Pi, but post-process to get it all lined up? I'm not looking for industrial usability, so slow is OK! I'm only getting about 4hz with it on my laptop, so I'm not terribly concerned. Looks like decimation and frame-skip will get me some improvements. |
I get to 81% with a fresh image and only the new dependencies as you listed.
Much farther than before. |
Administrator
|
Free forum by Nabble | Edit this page |