Closed jolting closed 7 years ago
Hi @jolting thanks for moving this here. I'll try with BUILD_mrpt-gui=OFF
and get back to you.
Qt5 components shouldn't be required. They should be optional and build to succeed if the optional components are not found. Disabling OpenGL should not break the build.
Absolutely! Thanks for taking care of this... I missed the Gitter discussion.
The flag BUILD_mrpt-gui=OFF
is disabling most of the other modules... So this is not a solution.
@paul-mesnilgrente which modules are being disabled? Can you copy-paste a list please?
This is the module list before to put gui off:
base ON
bayes ON
comms ON
detectors ON
graphs ON
graphslam ON
gui ON
hmtslam ON
hwdrivers ON
kinematics ON
maps ON
nav ON
obs ON
opengl ON
pbmap OFF
slam ON
tfest ON
topography ON
vision ON
And this is the list after:
base ON
bayes ON
comms ON
detectors OFF
graphs ON
graphslam OFF
gui OFF
hmtslam OFF
hwdrivers OFF
kinematics ON
maps ON
nav ON
obs ON
opengl ON
pbmap OFF
slam ON
tfest ON
topography ON
vision ON
Paul this is fine, test it by trying to link?
@jolting Why is hmtslam
tied to the GUI libraries? It seems that if we disable BUILD_mrpt-gui=OFF
we can't use CMetricMapBuilderICP
because it links to it.
Good question. It might take some work to decouple those.
define_mrpt_lib(
# Lib name
slam
# Dependencies
mrpt-bayes
mrpt-graphs
mrpt-vision
mrpt-tfest
mrpt-maps
# And deps of the deps:
mrpt-obs
mrpt-opengl
mrpt-base
)
The opengl dependency should be removed. I think that is the source of the problem. I'm just not certain what ramifications that has until I try it.
Hi guys,
There's work to do here, but just first, just some clarifications:
@alexge233:
Why is hmtslam tied to the GUI libraries? It seems that if we disable BUILD_mrpt-gui=OFF we can't use CMetricMapBuilderICP because it links to it.
CMetricMapBuilderICP belongs to mrpt-slam, you should be able to use it.
@jolting :
The opengl dependency should be removed. I think that is the source of the problem. I'm just not certain what ramifications that has until I try it.
The idea is that the module mrpt-opengl
can be cleanly built WITHOUT a real GL/GLU/... library in the system. In that case, the module still provides the valuable support to build 3D representations of all kind of sensor observations, robot maps, etc. Even if they can't be rendered, they can be streamed over a socket, to a file, etc. and rendered in another machine.
bottom line: disabling mrpt-gui
is not actually a good solution. MRPT design criteria are that, even without neither Qt nor wxWidgets, all modules should build cleanly. Only when, at runtime, one attempts to open a GUI window, we have an exception like "this feature is not supported, rebuild with blah blah".
So, I'll take a look at your build errors, and try to add #if
guards or whatever it takes to fix the origin of all problems.
FYI: there is a graphical representation of modules dependencies on the main Doxygen page.
That makes sense. I was thinking it might be possible to remove the opengl dependency.
One drawback that I see is that the packaged version of mrpt-opengl and mrpt-gui depends many system dependencies. Just pulling in opengl on a Ubuntu system will install tons of packages. If you're trying to ship a rootfs to an embedded device, that is quite a lot of overhead if you just want to run some slam algorithms. Decoupling slam from opengl would avoid that problem, but that might be tricky.
The best alternative is to build it yourself with the right options turned off. I think that should work after my last pull request, but you still need to manually disable Qt. Am I wrong?
Good point... it might make sense to publish an mrpt-headless version of the packages, at least via ppa.
On Qt: if it's not detected in the system, just like so many other dependencies, all should build cleanly. I put much effort in this aim over the years, and if it's not the case with Qt it's only because of the recent gsoc changes and the lack of testing.
Might even add one more travis configuration to test building with minimal dependencies...
Just FYI (and you probably already know this) I went looking at the readelf -d
output of the libraries in question, and they all seem to depend on opengl:
readelf -d /usr/lib/x86_64-linux-gnu/libmrpt-vision.so.1.9
Dynamic section at offset 0x349c70 contains 36 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libmrpt-obs.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-opengl.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-base.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libopencv_video.so.2.4]
0x0000000000000001 (NEEDED) Shared library: [libopencv_calib3d.so.2.4]
0x0000000000000001 (NEEDED) Shared library: [libopencv_features2d.so.2.4]
0x0000000000000001 (NEEDED) Shared library: [libopencv_highgui.so.2.4]
0x0000000000000001 (NEEDED) Shared library: [libopencv_imgproc.so.2.4]
0x0000000000000001 (NEEDED) Shared library: [libopencv_core.so.2.4]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [libmrpt-vision.so.1.9]
readelf -d /usr/lib/x86_64-linux-gnu/libmrpt-slam.so.1.9
Dynamic section at offset 0x224aa8 contains 33 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libmrpt-vision.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-tfest.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-maps.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-obs.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-opengl.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-base.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [libmrpt-slam.so.1.9]
readelf -d /usr/lib/x86_64-linux-gnu/libmrpt-obs.so.1.9
Dynamic section at offset 0x177dc0 contains 29 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libmrpt-opengl.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-base.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [libmrpt-obs.so.1.9]
readelf -d /usr/lib/x86_64-linux-gnu/libmrpt-maps.so.1.9
Dynamic section at offset 0x1c3808 contains 34 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libmrpt-obs.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-graphs.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-opengl.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-base.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [liboctomap.so.1.6]
0x0000000000000001 (NEEDED) Shared library: [liboctomath.so.1.6]
0x0000000000000001 (NEEDED) Shared library: [libGL.so.1]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [libmrpt-maps.so.1.9]
readelf -d /usr/lib/x86_64-linux-gnu/libmrpt-nav.so.1.9
Dynamic section at offset 0x151ec0 contains 32 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libmrpt-maps.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-kinematics.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-obs.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-opengl.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-base.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [libmrpt-nav.so.1.9]
readelf -d /usr/lib/x86_64-linux-gnu/libmrpt-kinematics.so.1.9
Dynamic section at offset 0x1a9c8 contains 29 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libmrpt-opengl.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-base.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [libmrpt-kinematics.so.1.9]
Our actual platform links against:
readelf -d robot_platform
Dynamic section at offset 0x470c68 contains 52 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libboost_system.so.1.58.0]
0x0000000000000001 (NEEDED) Shared library: [libboost_program_options.so.1.58.0]
0x0000000000000001 (NEEDED) Shared library: [libboost_filesystem.so.1.58.0]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libopencv_face.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_cudaobjdetect.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_cudafeatures2d.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libCaffe2_GPU.so]
0x0000000000000001 (NEEDED) Shared library: [libCaffe2_CPU.so]
0x0000000000000001 (NEEDED) Shared library: [libzbar.so.0]
0x0000000000000001 (NEEDED) Shared library: [libmongocxx.so._noabi]
0x0000000000000001 (NEEDED) Shared library: [libbsoncxx.so._noabi]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-base.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-maps.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-obs.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libmrpt-slam.so.1.9]
0x0000000000000001 (NEEDED) Shared library: [libopencv_objdetect.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_cudaimgproc.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_cudawarping.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_cudafilters.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_cudaarithm.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_imgcodecs.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_imgproc.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libopencv_core.so.3.3]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
Even more bizarelly I've seen it failing to execute (after building & link) because libassimp.so.4
was not found, which if I understand correctly is brought in by the mrpt-gui?
I'd like to help, but I may need some guidance here.
I see that define_mrpt_lib
is used by each CMakeLists.txt
under libs/XXX/
where XX is the name of the library being built, but I'm trying to figure if there is a way to edit the cmake in order to set which libraries I want built.
My hope is that I won't have to remove opengl, but rather build only a "core" version which doesn't require it.
I've tried searching for:
grep -rnw . -e "find_package(OpenGL"
but can't find where it is being searched for, and I've also tried finding where the link flags are being used grep -rnw . -e "OPENGL_LIBRARIES"
but again to no avail.
https://github.com/MRPT/mrpt/blob/master/cmakemodules/script_gl_glut.cmake
Basically, DISABLE_OPENGL should disable OPENGL in mrpt as a whole, but shouldn't prevent mrpt-opengl from building. That may be counter intuitive, but necessary because mrpt-slam depends on mrpt-opengl.
The headless comment was suggesting a second set of mrpt package which would rebuild all packages without the opengl and other dependencies for a minimal build. If you're building it yourself that will be irrelevant. Simply use the DISABLE_* mechanism to disable all of those external libraries you don't want.
Slowly, slowly...
@alexge233 : I think there's some misunderstanding or missing information here: I have reproduced your conditions by UNINSTALLING all qt, wxWidgets, GL, GLU, etc. libraries from my Ubuntu 16.04 system. Then, compiling mrpt from scratch (git master branch) gives no error at all. Everything builds, including mrpt-gui, etc.
What version of MRPT are you using? Please, attach your CMakeCache.txt file.
@jlblancoc I'm using the master branch from github (1.9.X?) Someone from the team went ahead and compiled it on the cloud instance, so I'll have to recreate the process in a VM. Please bear with me.
Here's the cmake output:
cmake ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.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
-- Architecture (uname -m): x86_64
-- Kernel name (uname -s): Linux
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Looking for timegm
-- Looking for timegm - found
-- Looking for _mkgmtime
-- Looking for _mkgmtime - not found
-- Looking for alloca
-- Looking for alloca - not found
-- Looking for gettid
-- Looking for gettid - not found
-- Looking for sincos
-- Looking for sincos - found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for _aligned_malloc
-- Looking for _aligned_malloc - not found
-- Looking for strtok_r
-- Looking for strtok_r - found
-- Looking for alloca.h
-- Looking for alloca.h - found
-- Looking for linux/serial.h
-- Looking for linux/serial.h - found
-- Looking for linux/input.h
-- Looking for linux/input.h - found
-- Looking for malloc.h
-- Looking for malloc.h - found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - not found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for winsock2.h
-- Looking for winsock2.h - not found
-- Looking for windows.h>
#include <winusb.h
-- Looking for windows.h>
#include <winusb.h - not found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of long double
-- Check size of long double - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY OPENGL_INCLUDE_DIR)
-- Could NOT find GLUT (missing: GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
-- **Warning**: OpenGL and/or GLUT not found! OpenGL capabilities will be disabled.
-- OPENGL_gl_LIBRARY: OPENGL_gl_LIBRARY-NOTFOUND
-- OPENGL_glu_LIBRARY: OPENGL_glu_LIBRARY-NOTFOUND
-- GLUT_glut_LIBRARY: GLUT_glut_LIBRARY-NOTFOUND
-- OPENGL_INCLUDE_DIR: OPENGL_INCLUDE_DIR-NOTFOUND
-- Checking GNUCXX version 3/4 to determine OpenCV /opt/net/ path
-- ERROR: OpenCV was not found.
-- Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES wxWidgets_INCLUDE_DIRS)
wxWidgets was not found automatically. Please, set wxWidgets_ROOT_DIR to the lib directory to enable it in MRPT.
CMake Warning at cmakemodules/script_qt.cmake:10 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one.
Could not find a package configuration file provided by "Qt5" with any of
the following names:
Qt5Config.cmake
qt5-config.cmake
Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files. If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:234 (include)
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
-- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
-- Performing Test PCAP_LINKS_SOLO
-- Performing Test PCAP_LINKS_SOLO - Success
-- Looking for pcap_get_pfring_id
-- Looking for pcap_get_pfring_id - not found
-- cotire 1.7.9 loaded.
-- CXX target mrpt-slam cotired without unity build.
-- CXX target mrpt-topography cotired without unity build.
-- CXX target mrpt-maps cotired without unity build.
-- CXX target mrpt-nav cotired without unity build.
-- CXX target mrpt-hmtslam cotired without unity build.
-- CXX target mrpt-gui cotired without unity build.
-- CXX target mrpt-graphs cotired without unity build.
-- CXX target mrpt-comms cotired without unity build.
-- CXX target mrpt-tfest cotired without unity build.
-- CXX target mrpt-vision cotired without unity build.
-- C CXX target mrpt-hwdrivers cotired without unity build.
-- C CXX target mrpt-base cotired without unity build.
-- CXX target mrpt-graphslam cotired without unity build.
-- CXX target mrpt-kinematics cotired without unity build.
-- CXX target mrpt-obs cotired without unity build.
-- CXX target mrpt-detectors cotired without unity build.
-- CXX target mrpt-opengl cotired without unity build.
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.12")
--
-- List of MRPT libs/modules to be built (and dependencies):
-- -----------------------------------------------------------------
-- mrpt-slam : mrpt-bayes;mrpt-graphs;mrpt-vision;mrpt-tfest;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-bayes : mrpt-base (header-only)
-- mrpt-topography : mrpt-base;mrpt-obs;mrpt-opengl;mrpt-tfest
-- mrpt-maps : mrpt-obs;mrpt-graphs;mrpt-opengl;mrpt-base
-- mrpt-nav : mrpt-graphs;mrpt-maps;mrpt-kinematics;mrpt-graphs;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-hmtslam : mrpt-slam;mrpt-graphslam;mrpt-graphs;mrpt-vision;mrpt-maps;mrpt-base;mrpt-obs;mrpt-opengl;mrpt-gui
-- mrpt-gui : mrpt-opengl;mrpt-base
-- mrpt-graphs : mrpt-opengl;mrpt-base
-- mrpt-comms : mrpt-base
-- mrpt-tfest : mrpt-base
-- mrpt-vision : mrpt-obs;mrpt-opengl;mrpt-base;mrpt-opengl
-- mrpt-hwdrivers : mrpt-base;mrpt-comms;mrpt-maps;mrpt-obs;mrpt-gui;mrpt-opengl;mrpt-maps;mrpt-vision;mrpt-graphs
-- mrpt-base :
-- mrpt-graphslam : mrpt-base;mrpt-graphs;mrpt-gui;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-slam;mrpt-vision
-- mrpt-kinematics : mrpt-opengl;mrpt-base
-- mrpt-obs : mrpt-opengl;mrpt-base
-- mrpt-detectors : mrpt-vision;mrpt-maps;mrpt-gui;mrpt-slam;mrpt-base;mrpt-opengl;mrpt-obs;mrpt-graphs
-- mrpt-opengl : mrpt-base
--
-- +===========================================================================+
-- | Resulting configuration for MRPT 1.9.9 |
-- +===========================================================================+
-- _________________________ PLATFORM _____________________________
-- Host : Linux4.4.0-96-genericx86_64
-- Is the system big endian? : No
-- Word size (32/64 bit) : 64
-- CMake version : 3.5.1
-- CMake generator : Unix Makefiles
-- CMake build tool : /usr/bin/make
-- MRPT SOURCE_DATE_EPOCH : 1507963082 (2017-10-14)
-- Compiler : /usr/bin/c++ Version: 5.4.0
-- Configuration : Release
-- C++ flags :
--
-- __________________________ OPTIONS _____________________________
-- Build MRPT as a shared library? : Yes
-- Use SIMD optimizations? : SSE2=1 SSE3=1 SSE4.1=1 SSE4.2=1 SSE4a=0 [Automatic]
-- Install prefix : /usr/local
-- C++ config header : /home/ubuntu/mrpt/build/include/mrpt-config/unix/
--
-- _____________________ MANDATORY LIBRARIES ______________________
-- eigen3 : Yes (System) [Version: 3.2.92]
-- zlib (compression) : Yes (Built-in)
--
-- ______________________ OPTIONAL LIBRARIES ______________________
-- Assimp (3D models) : Yes (Built-in) [Version: ]
-- ffmpeg libs (Video streaming) : No [avcodec , avutil , avformat ]
-- gtest (Google unit testing library) : Yes (Built-in)
-- lib3ds (3DStudio scenes) : No
-- libjpeg (jpeg) : Yes (Built-in)
-- liblas (ASPRS LAS LiDAR format) : No
-- mexplus : No
-- Octomap : Yes (Built-in) [Version: ]
-- OpenCV (Image manipulation) : No [Version: 0.0.0]
-- OpenGL : No
-- GLUT : No
-- PCAP (Wireshark logs for Velodyne) : No
-- PCL (Pointscloud library) : No [Version: ]
-- SuiteSparse : No
-- VTK : No
-- yamlcpp (YAML file format) : No [Version: ]
--
-- ______________________ GUI LIBRARIES ______________________
-- wxWidgets : No
-- Qt5 : No
--
-- _______________________ WRAPPERS/BINDINGS ______________________
-- Matlab / mex files : No [Version: ]
-- Python bindings (pymrpt) : Yes
-- - dep: Boost found? : Yes
-- - dep: PythonLibs found? : Yes
--
-- _____________________ HARDWARE & SENSORS _______________________
-- libdc1394-2 (FireWire capture) : No
-- DUO3D Camera libs : No
-- libftdi (USB) : No [Version: ]
-- National Instruments...
-- ...NIDAQmx? : No
-- ...NIDAQmx Base? : No
-- NITE2 library : No
-- OpenKinect libfreenect : Yes (Built-in)
-- OpenNI2 : No
-- PGR FlyCapture2 : No
-- PGR Triclops : No
-- Phidgets : No
-- RoboPeak LIDAR : Yes
-- SwissRanger 3/4000 3D camera : No
-- Videre SVS stereo camera : No
-- libudev (requisite for XSensMT4) : No
-- xSENS MT 3rd generation : Yes (Built-in)
-- xSENS MT 4th generation : No
-- Intersense sensors : No
--
--
-- ***********************************************************************
-- * WARNING: It's STRONGLY recommended to build MRPT with OpenCV support.
-- * To do so, set OpenCV_DIR to its CMake build dir. If you want to go
-- * on without OpenCV, proceed to build instead.
-- ***********************************************************************
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/mrpt/build
This is a build in a blank VM, build failed with:
/home/ubuntu/mrpt/libs/gui/src/CAboutBoxBase.cpp: In member function ‘std::__cxx11::string CAboutBoxBase::information(const string&, const string&) const’:
/home/ubuntu/mrpt/libs/gui/src/CAboutBoxBase.cpp:89:19: error: invalid operands of types ‘const char [5]’ and ‘const char [2]’ to binary ‘operator+’
str += "None" + "\n";
^
libs/gui/CMakeFiles/mrpt-gui.dir/build.make:277: recipe for target 'libs/gui/CMakeFiles/mrpt-gui.dir/src/CAboutBoxBase.cpp.o' failed
make[2]: *** [libs/gui/CMakeFiles/mrpt-gui.dir/src/CAboutBoxBase.cpp.o] Error 1
CMakeFiles/Makefile2:944: recipe for target 'libs/gui/CMakeFiles/mrpt-gui.dir/all' failed
make[1]: *** [libs/gui/CMakeFiles/mrpt-gui.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
Haven't seen that before. Are you guys updating master branch?
Thanks, that last msg is helpful.will try to fix it (I'm on the phone now). Looks like a problem that only occur with that version of gcc. I use gcc 7, normally, these days
Ok, I'm going to try with DISABLE_OPENGL
and turn off the gui tomorrow, and see if that changes anything.
By the way, I can see that libassimp.so.4
is downloaded and built, however one problem I constantly run into is that once I'm trying to execute an app linked to mrpt
, the ldloader
complains about not finding it. I'll post on that too.
In the meantime, what can I do to help for the minification process?
By the way, I can see that libassimp.so.4 is downloaded and built,
Just set BUILD_ASSIMP=OFF in CMake when configuring to solve that one.
/home/ubuntu/mrpt/libs/gui/src/CAboutBoxBase.cpp:89:19: error: invalid operands of types ‘const char [5]’ and ‘const char [2]’ to binary ‘operator+’ str += "None" + "\n";
That particular error is now fixed in master. It only happened when OpenCV is not present... a situation we never tested in recent times!
I have a question regarding OpenCV (there was an issue on stackoverflow to which @jlblancoc replied) which keeps coming back: we use OpenCV 3.3 but MRPT links to 2.4. Quite often we get segmentation faults because of that, which is part of the reason why we're building mrpt from source. Is there a way to change this?
Regarding the previous issues:
-DBUILD_ASSIMP=OFF -DDISABLE_OPENGL=ON -DBUILD_mrpt-gui=OFF
The output:
cmake .. -DBUILD_ASSIMP=OFF -DDISABLE_OPENGL=ON -DBUILD_mrpt-gui=OFF
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.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
-- Architecture (uname -m): x86_64
-- Kernel name (uname -s): Linux
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Looking for timegm
-- Looking for timegm - found
-- Looking for _mkgmtime
-- Looking for _mkgmtime - not found
-- Looking for alloca
-- Looking for alloca - not found
-- Looking for gettid
-- Looking for gettid - not found
-- Looking for sincos
-- Looking for sincos - found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for _aligned_malloc
-- Looking for _aligned_malloc - not found
-- Looking for strtok_r
-- Looking for strtok_r - found
-- Looking for alloca.h
-- Looking for alloca.h - found
-- Looking for linux/serial.h
-- Looking for linux/serial.h - found
-- Looking for linux/input.h
-- Looking for linux/input.h - found
-- Looking for malloc.h
-- Looking for malloc.h - found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - not found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for winsock2.h
-- Looking for winsock2.h - not found
-- Looking for windows.h>
#include <winusb.h
-- Looking for windows.h>
#include <winusb.h - not found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of long double
-- Check size of long double - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES wxWidgets_INCLUDE_DIRS)
wxWidgets was not found automatically. Please, set wxWidgets_ROOT_DIR to the lib directory to enable it in MRPT.
CMake Warning at cmakemodules/script_qt.cmake:10 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one.
Could not find a package configuration file provided by "Qt5" with any of
the following names:
Qt5Config.cmake
qt5-config.cmake
Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files. If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:234 (include)
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so
-- Performing Test PCAP_LINKS_SOLO
-- Performing Test PCAP_LINKS_SOLO - Success
-- Looking for pcap_get_pfring_id
-- Looking for pcap_get_pfring_id - not found
-- cotire 1.7.9 loaded.
-- CXX target mrpt-slam cotired without unity build.
-- CXX target mrpt-topography cotired without unity build.
-- CXX target mrpt-maps cotired without unity build.
-- CXX target mrpt-nav cotired without unity build.
-- *Warning*: Lib mrpt-hmtslam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Disabling compilation of lib mrpt-hmtslam for missing dependencies listed above.
-- CXX target mrpt-hmtslam cotired without unity build.
-- CXX target mrpt-graphs cotired without unity build.
-- CXX target mrpt-comms cotired without unity build.
-- CXX target mrpt-tfest cotired without unity build.
-- CXX target mrpt-vision cotired without unity build.
-- *Warning*: Lib mrpt-hwdrivers cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Disabling compilation of lib mrpt-hwdrivers for missing dependencies listed above.
-- C CXX target mrpt-hwdrivers cotired without unity build.
-- C CXX target mrpt-base cotired without unity build.
-- *Warning*: Lib mrpt-graphslam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Disabling compilation of lib mrpt-graphslam for missing dependencies listed above.
-- CXX target mrpt-graphslam cotired without unity build.
-- CXX target mrpt-kinematics cotired without unity build.
-- CXX target mrpt-obs cotired without unity build.
-- *Warning*: Lib mrpt-detectors cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Disabling compilation of lib mrpt-detectors for missing dependencies listed above.
-- CXX target mrpt-detectors cotired without unity build.
-- CXX target mrpt-opengl cotired without unity build.
-- *Warning*: App pf-localization cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_pf-localization=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App track-video-features cannot be built because dependency mrpt-gui has been disabled!
-- *Warning*: App track-video-features cannot be built because dependency mrpt-hwdrivers has been disabled!
-- *Warning* ==> Forcing BUILD_APP_track-video-features=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App mrpt-performance cannot be built because dependency mrpt-gui has been disabled!
-- *Warning*: App mrpt-performance cannot be built because dependency mrpt-graphslam has been disabled!
-- *Warning* ==> Forcing BUILD_APP_mrpt-performance=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App map-partition cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_map-partition=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App simul-landmarks cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_simul-landmarks=OFF for missing dependencies listed above (re-enable manually if needed).
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- *Warning*: App kf-slam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_kf-slam=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App icp-slam-live cannot be built because dependency mrpt-gui has been disabled!
-- *Warning*: App icp-slam-live cannot be built because dependency mrpt-hwdrivers has been disabled!
-- *Warning* ==> Forcing BUILD_APP_icp-slam-live=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App kinect-3d-slam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning*: App kinect-3d-slam cannot be built because dependency mrpt-hwdrivers has been disabled!
-- *Warning* ==> Forcing BUILD_APP_kinect-3d-slam=OFF for missing dependencies listed above (re-enable manually if needed).
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- *Warning*: App hmt-slam cannot be built because dependency mrpt-hmtslam has been disabled!
-- *Warning*: App hmt-slam cannot be built because dependency mrpt-graphslam has been disabled!
-- *Warning*: App hmt-slam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_hmt-slam=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App gps2rawlog cannot be built because dependency mrpt-hwdrivers has been disabled!
-- *Warning*: App gps2rawlog cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_gps2rawlog=OFF for missing dependencies listed above (re-enable manually if needed).
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- *Warning*: App DifOdometry-Datasets cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_DifOdometry-Datasets=OFF for missing dependencies listed above (re-enable manually if needed).
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- *Warning*: App ro-localization cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_ro-localization=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App velodyne-view cannot be built because dependency mrpt-hwdrivers has been disabled!
-- *Warning*: App velodyne-view cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_velodyne-view=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App icp-slam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_icp-slam=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App ReactiveNav3D-Demo cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_ReactiveNav3D-Demo=OFF for missing dependencies listed above (re-enable manually if needed).
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- *Warning*: App kinect-3d-view cannot be built because dependency mrpt-gui has been disabled!
-- *Warning*: App kinect-3d-view cannot be built because dependency mrpt-hwdrivers has been disabled!
-- *Warning* ==> Forcing BUILD_APP_kinect-3d-view=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App graph-slam cannot be built because dependency mrpt-graphslam has been disabled!
-- *Warning*: App graph-slam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_graph-slam=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App rawlog-grabber cannot be built because dependency mrpt-hwdrivers has been disabled!
-- *Warning*: App rawlog-grabber cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_rawlog-grabber=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App rbpf-slam cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_rbpf-slam=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App grid-matching cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_grid-matching=OFF for missing dependencies listed above (re-enable manually if needed).
-- *Warning*: App features-matching cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_features-matching=OFF for missing dependencies listed above (re-enable manually if needed).
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.12")
-- *Warning*: App pymrpt cannot be built because dependency mrpt-gui has been disabled!
-- *Warning* ==> Forcing BUILD_APP_pymrpt=OFF for missing dependencies listed above (re-enable manually if needed).
--
-- List of MRPT libs/modules to be built (and dependencies):
-- -----------------------------------------------------------------
-- mrpt-slam : mrpt-bayes;mrpt-graphs;mrpt-vision;mrpt-tfest;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-bayes : mrpt-base (header-only)
-- mrpt-topography : mrpt-base;mrpt-obs;mrpt-opengl;mrpt-tfest
-- mrpt-maps : mrpt-obs;mrpt-graphs;mrpt-opengl;mrpt-base
-- mrpt-nav : mrpt-graphs;mrpt-maps;mrpt-kinematics;mrpt-graphs;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-hmtslam : mrpt-slam;mrpt-graphslam;mrpt-graphs;mrpt-vision;mrpt-maps;mrpt-base;mrpt-obs;mrpt-opengl;mrpt-gui
-- mrpt-graphs : mrpt-opengl;mrpt-base
-- mrpt-comms : mrpt-base
-- mrpt-tfest : mrpt-base
-- mrpt-vision : mrpt-obs;mrpt-opengl;mrpt-base;mrpt-opengl
-- mrpt-hwdrivers : mrpt-base;mrpt-comms;mrpt-maps;mrpt-obs;mrpt-gui;mrpt-opengl;mrpt-maps;mrpt-vision;mrpt-graphs
-- mrpt-base :
-- mrpt-graphslam : mrpt-base;mrpt-graphs;mrpt-gui;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-slam;mrpt-vision
-- mrpt-kinematics : mrpt-opengl;mrpt-base
-- mrpt-obs : mrpt-opengl;mrpt-base
-- mrpt-detectors : mrpt-vision;mrpt-maps;mrpt-gui;mrpt-slam;mrpt-base;mrpt-opengl;mrpt-obs;mrpt-graphs
-- mrpt-opengl : mrpt-base
--
-- +===========================================================================+
-- | Resulting configuration for MRPT 1.9.9 |
-- +===========================================================================+
-- _________________________ PLATFORM _____________________________
-- Host : Linux4.4.0-97-genericx86_64
-- Is the system big endian? : No
-- Word size (32/64 bit) : 64
-- CMake version : 3.5.1
-- CMake generator : Unix Makefiles
-- CMake build tool : /usr/bin/make
-- MRPT SOURCE_DATE_EPOCH : 1507963082 (2017-10-14)
-- Compiler : /usr/bin/c++ Version: 5.4.0
-- Configuration : Release
-- C++ flags :
--
-- __________________________ OPTIONS _____________________________
-- Build MRPT as a shared library? : Yes
-- Use SIMD optimizations? : SSE2=1 SSE3=1 SSE4.1=1 SSE4.2=1 SSE4a=0 [Automatic]
-- Install prefix : /usr/local
-- C++ config header : /home/ubuntu/mrpt/build/include/mrpt-config/unix/
--
-- _____________________ MANDATORY LIBRARIES ______________________
-- eigen3 : Yes (System) [Version: 3.2.92]
-- zlib (compression) : Yes (System)
--
-- ______________________ OPTIONAL LIBRARIES ______________________
-- Assimp (3D models) : No [Version: ]
-- ffmpeg libs (Video streaming) : Yes (System) [avcodec 56.60.100, avutil 54.31.100, avformat 56.40.101]
-- gtest (Google unit testing library) : Yes (Built-in)
-- lib3ds (3DStudio scenes) : No
-- libjpeg (jpeg) : Yes (System)
-- liblas (ASPRS LAS LiDAR format) : No
-- mexplus : No
-- Octomap : Yes (Built-in) [Version: ]
-- OpenCV (Image manipulation) : Yes (System) [Version: 2.4.9.1]
-- OpenGL : No
-- GLUT : No
-- PCAP (Wireshark logs for Velodyne) : No
-- PCL (Pointscloud library) : No [Version: ]
-- SuiteSparse : No
-- VTK : No
-- yamlcpp (YAML file format) : No [Version: ]
--
-- ______________________ GUI LIBRARIES ______________________
-- wxWidgets : No
-- Qt5 : No
--
-- _______________________ WRAPPERS/BINDINGS ______________________
-- Matlab / mex files : No [Version: ]
-- Python bindings (pymrpt) : Yes
-- - dep: Boost found? : Yes
-- - dep: PythonLibs found? : Yes
--
-- _____________________ HARDWARE & SENSORS _______________________
-- libdc1394-2 (FireWire capture) : Yes (System)
-- DUO3D Camera libs : No
-- libftdi (USB) : No [Version: ]
-- National Instruments...
-- ...NIDAQmx? : No
-- ...NIDAQmx Base? : No
-- NITE2 library : No
-- OpenKinect libfreenect : Yes (Built-in)
-- OpenNI2 : No
-- PGR FlyCapture2 : No
-- PGR Triclops : No
-- Phidgets : No
-- RoboPeak LIDAR : Yes
-- SwissRanger 3/4000 3D camera : No
-- Videre SVS stereo camera : No
-- libudev (requisite for XSensMT4) : No
-- xSENS MT 3rd generation : Yes (Built-in)
-- xSENS MT 4th generation : No
-- Intersense sensors : No
--
-- Configuring done
CMake Error at cmakemodules/DeclareMRPTLib.cmake:222 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "mrpt-hmtslam" does not exist.
Call Stack (most recent call first):
cmakemodules/DeclareMRPTLib.cmake:4 (internal_define_mrpt_lib)
libs/hmtslam/CMakeLists.txt:2 (define_mrpt_lib)
CMake Error at cmakemodules/DeclareMRPTLib.cmake:222 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "mrpt-hwdrivers" does not exist.
Call Stack (most recent call first):
cmakemodules/DeclareMRPTLib.cmake:4 (internal_define_mrpt_lib)
libs/hwdrivers/CMakeLists.txt:150 (define_mrpt_lib)
CMake Error at cmakemodules/DeclareMRPTLib.cmake:222 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "mrpt-graphslam" does not exist.
Call Stack (most recent call first):
cmakemodules/DeclareMRPTLib.cmake:4 (internal_define_mrpt_lib)
libs/graphslam/CMakeLists.txt:4 (define_mrpt_lib)
CMake Error at cmakemodules/DeclareMRPTLib.cmake:222 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "mrpt-detectors" does not exist.
Call Stack (most recent call first):
cmakemodules/DeclareMRPTLib.cmake:4 (internal_define_mrpt_lib)
libs/detectors/CMakeLists.txt:8 (define_mrpt_lib)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "pf-localization" does not
exist.
Call Stack (most recent call first):
apps/pf-localization/CMakeLists.txt:26 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "track-video-features" does not
exist.
Call Stack (most recent call first):
apps/track-video-features/CMakeLists.txt:27 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "mrpt-performance" does not
exist.
Call Stack (most recent call first):
apps/mrpt-performance/CMakeLists.txt:52 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "map-partition" does not exist.
Call Stack (most recent call first):
apps/map-partition/CMakeLists.txt:28 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "simul-landmarks" does not
exist.
Call Stack (most recent call first):
apps/simul-landmarks/CMakeLists.txt:28 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "kf-slam" does not exist.
Call Stack (most recent call first):
apps/kf-slam/CMakeLists.txt:28 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "icp-slam-live" does not exist.
Call Stack (most recent call first):
apps/icp-slam-live/CMakeLists.txt:14 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "kinect-3d-slam" does not exist.
Call Stack (most recent call first):
apps/kinect-3d-slam/CMakeLists.txt:24 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "hmt-slam" does not exist.
Call Stack (most recent call first):
apps/hmt-slam/CMakeLists.txt:29 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "gps2rawlog" does not exist.
Call Stack (most recent call first):
apps/gps2rawlog/CMakeLists.txt:20 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "DifOdometry-Datasets" does not
exist.
Call Stack (most recent call first):
apps/DifOdometry-Datasets/CMakeLists.txt:30 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "ro-localization" does not
exist.
Call Stack (most recent call first):
apps/ro-localization/CMakeLists.txt:30 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "velodyne-view" does not exist.
Call Stack (most recent call first):
apps/velodyne-view/CMakeLists.txt:20 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "icp-slam" does not exist.
Call Stack (most recent call first):
apps/icp-slam/CMakeLists.txt:26 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "ReactiveNav3D-Demo" does not
exist.
Call Stack (most recent call first):
apps/ReactiveNav3D-Demo/CMakeLists.txt:33 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "kinect-3d-view" does not exist.
Call Stack (most recent call first):
apps/kinect-3d-view/CMakeLists.txt:24 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "graph-slam" does not exist.
Call Stack (most recent call first):
apps/graph-slam/CMakeLists.txt:28 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "rawlog-grabber" does not exist.
Call Stack (most recent call first):
apps/rawlog-grabber/CMakeLists.txt:70 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "rbpf-slam" does not exist.
Call Stack (most recent call first):
apps/rbpf-slam/CMakeLists.txt:28 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "grid-matching" does not exist.
Call Stack (most recent call first):
apps/grid-matching/CMakeLists.txt:28 (DeclareAppDependencies)
CMake Error at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "features-matching" does not
exist.
Call Stack (most recent call first):
apps/features-matching/CMakeLists.txt:29 (DeclareAppDependencies)
CMake Error at tests/CMakeLists.txt:86 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "test_mrpt_hwdrivers" does not
exist.
CMake Error at tests/CMakeLists.txt:86 (ADD_DEPENDENCIES):
The dependency target "mrpt-gui" of target "test_mrpt_graphslam" does not
exist.
CMake Warning (dev) at cmakemodules/DeclareAppDependencies.cmake:35 (ADD_DEPENDENCIES):
Policy CMP0046 is not set: Error on non-existent dependency in
add_dependencies. Run "cmake --help-policy CMP0046" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
The dependency target "mrpt-gui" of target "pymrpt" does not exist.
Call Stack (most recent call first):
python/CMakeLists.txt:50 (DeclareAppDependencies)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /home/ubuntu/mrpt/build
I might want to turn off building the apps too.
The error I got is related to gui
:
[ 67%] Building CXX object tests/CMakeFiles/test_mrpt_nav.dir/test_main.cpp.o
[ 67%] Linking CXX executable ../../bin/simul-gridmap
[ 67%] Building CXX object tests/CMakeFiles/test_mrpt_maps.dir/__/libs/maps/src/maps/serializations_unittest.cpp.o
[ 67%] Linking CXX executable ../../bin/features-matching
[ 67%] Building CXX object tests/CMakeFiles/test_mrpt_nav.dir/__/libs/nav/src/tpspace/PTGs_unittest.cpp.o
/usr/bin/ld: cannot find -lmrpt-gui
collect2: error: ld returned 1 exit status
apps/features-matching/CMakeFiles/features-matching.dir/build.make:115: recipe for target 'bin/features-matching' failed
make[2]: *** [bin/features-matching] Error 1
CMakeFiles/Makefile2:4156: recipe for target 'apps/features-matching/CMakeFiles/features-matching.dir/all' failed
make[1]: *** [apps/features-matching/CMakeFiles/features-matching.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
I've re-run cmake without the disabling flag -DBUILD_mrpt-gui=OFF
I get a different error:
Scanning dependencies of target rawlog-grabber
[ 85%] Building CXX object apps/rawlog-grabber/CMakeFiles/rawlog-grabber.dir/rawloggrabber_main.cpp.o
[ 86%] Linking CXX executable ../../bin/velodyne-view
/usr/bin/ld: CMakeFiles/velodyne-view.dir/velodyne-view_main.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
apps/velodyne-view/CMakeFiles/velodyne-view.dir/build.make:122: recipe for target 'bin/velodyne-view' failed
make[2]: *** [bin/velodyne-view] Error 1
CMakeFiles/Makefile2:3522: recipe for target 'apps/velodyne-view/CMakeFiles/velodyne-view.dir/all' failed
make[1]: *** [apps/velodyne-view/CMakeFiles/velodyne-view.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 86%] Linking CXX executable ../../bin/track-video-features
[ 86%] Built target track-video-features
[ 86%] Linking CXX executable ../../bin/kinect-3d-view
/usr/bin/ld: CMakeFiles/kinect-3d-view.dir/kinect-3d-view_main.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
apps/kinect-3d-view/CMakeFiles/kinect-3d-view.dir/build.make:122: recipe for target 'bin/kinect-3d-view' failed
make[2]: *** [bin/kinect-3d-view] Error 1
CMakeFiles/Makefile2:3846: recipe for target 'apps/kinect-3d-view/CMakeFiles/kinect-3d-view.dir/all' failed
make[1]: *** [apps/kinect-3d-view/CMakeFiles/kinect-3d-view.dir/all] Error 2
[ 86%] Linking CXX executable ../../bin/rawlog-grabber
/usr/bin/ld: CMakeFiles/rawlog-grabber.dir/rawloggrabber_main.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
apps/rawlog-grabber/CMakeFiles/rawlog-grabber.dir/build.make:122: recipe for target 'bin/rawlog-grabber' failed
make[2]: *** [bin/rawlog-grabber] Error 1
CMakeFiles/Makefile2:4097: recipe for target 'apps/rawlog-grabber/CMakeFiles/rawlog-grabber.dir/all' failed
make[1]: *** [apps/rawlog-grabber/CMakeFiles/rawlog-grabber.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
pthread library is installed:
sudo ldconfig -p | grep "pthread"
libpthread.so.0 (libc6,x86-64, OS ABI: Linux 2.6.32) => /lib/x86_64-linux-gnu/libpthread.so.0
I have a question regarding OpenCV (there was an issue on stackoverflow to which @jlblancoc replied) which keeps coming back: we use OpenCV 3.3 but MRPT links to 2.4. Quite often we get segmentation faults because of that, which is part of the reason why we're building mrpt from source. Is there a way to change this?
I still think the best way is to simply build MRPT against your OpenCV 3.3 version. Just delete the Ubuntu system packages for opencv.
I am now using: -DBUILD_ASSIMP=OFF -DDISABLE_OPENGL=ON -DBUILD_mrpt-gui=OFF
Try again without -DBUILD_mrpt-gui=OFF
. Just don't install the Qt or wxWidgets development packages and there will be no build errors (there was one issue, but it's now fixed in master).
I have even added new test cases to Travis to test the "headless" configuration and an extremely minimal case without any extra library (without OpenCV, etc.), so any build error becomes obvious from now on.
@alexge233 was this finally solved?
@jlblancoc regarding the OpenCV:
that is what I am doing, but it is not a realistic scenario; for example ROS pulls its own OpenCV, and thus if another OpenCV is present this becomes an issue. For now I just build from source.
regarding the -DBUILD_mrpt-gui=OFF
I tried again with:
cmake .. -DBUILD_ASSIMP=OFF -DDISABLE_OPENGL=ON
and this is what happens:
/home/ubuntu/mrpt/apps/icp-slam-live/icp-slam-live_main.cpp:107:43: note: #pragma message: TODO: Should these be global?
[ 89%] Building CXX object libs/graphslam/CMakeFiles/mrpt-graphslam.dir/src/CEdgeCounter.cpp.o
[ 89%] Linking CXX executable ../../bin/icp-slam-live
/usr/bin/ld: CMakeFiles/icp-slam-live.dir/icp-slam-live_main.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
apps/icp-slam-live/CMakeFiles/icp-slam-live.dir/build.make:124: recipe for target 'bin/icp-slam-live' failed
make[2]: *** [bin/icp-slam-live] Error 1
CMakeFiles/Makefile2:2782: recipe for target 'apps/icp-slam-live/CMakeFiles/icp-slam-live.dir/all' failed
make[1]: *** [apps/icp-slam-live/CMakeFiles/icp-slam-live.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 89%] Building CXX object libs/graphslam/CMakeFiles/mrpt-graphslam.dir/src/TSlidingWindow.cpp.o
[ 89%] Building CXX object libs/detectors/CMakeFiles/mrpt-detectors.dir/src/CDetectorDoorCrossing.cpp.o
[ 89%] Linking CXX executable ../../bin/kf-slam
[ 89%] Built target kf-slam
[ 89%] Building CXX object libs/detectors/CMakeFiles/mrpt-detectors.dir/src/CDetectableObject.cpp.o
[ 89%] Building CXX object libs/graphslam/CMakeFiles/mrpt-graphslam.dir/src/CWindowObserver.cpp.o
[ 89%] Linking CXX shared library ../../lib/libmrpt-detectors.so
[ 89%] Built target mrpt-detectors
[ 89%] Linking CXX shared library ../../lib/libmrpt-graphslam.so
[ 89%] Built target mrpt-graphslam
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
What about DISABLE_OPENCV? Do you need opencv support in MRPT?
Regarding the icp-slam-live can you add to mrpt/apps/icp-slam-live/CMakeLists.txt?
+find_package( Threads )
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MRPT_LINKER_LIBS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MRPT_LINKER_LIBS} ${CMAKE_THREAD_LIBS_INIT} )
Actually no we don't need OpenCV in MRPT so disabling it is probably the best solution! I'm away until Wednesday so I'll get back to you then with the changes. Many thanks for the help!
No response in 9 days. Closing.
Hi, I've tried to build MRPT with the following flags:
cmake .. -DBUILD_ASSIMP=OFF -DDISABLE_OPENGL=ON -DDISABLE_OPENCV=ON
and it's failing:
../../lib/libmrpt-base.so.1.9.9: undefined reference to `dladdr'
collect2: error: ld returned 1 exit status
apps/mrpt-perfdata2html/CMakeFiles/mrpt-perfdata2html.dir/build.make:107: recipe for target 'bin/mrpt-perfdata2html' failed
make[2]: *** [bin/mrpt-perfdata2html] Error 1
CMakeFiles/Makefile2:4541: recipe for target 'apps/mrpt-perfdata2html/CMakeFiles/mrpt-perfdata2html.dir/all' failed
make[1]: *** [apps/mrpt-perfdata2html/CMakeFiles/mrpt-perfdata2html.dir/all] Error 2
I am using this commit 9749168e35288a16ec86a4314df4d3629adec042 because it is the latest one that builds in travis.
@MariaRamos89 60be480ad90f1188b4005148765cec0525914c92 addressed that exact issue.
Thanks @jolting I've tried with that commit and now a new error appears:
/home/maria/libs/mrpt/apps/kinect-stereo-calib/kinect_calibrate_guiMain.cpp: In constructor ‘kinect_calibrate_guiDialog::kinect_calibrate_guiDialog(wxWindow*, wxWindowID)’:
/home/maria/libs/mrpt/apps/kinect-stereo-calib/kinect_calibrate_guiMain.cpp:1327:34: error: ‘class CMyGLCanvas’ has no member named ‘getOpenGLSceneRef’
auto openGLSceneRef = m_plot3D->getOpenGLSceneRef();
^
/home/maria/libs/mrpt/apps/kinect-stereo-calib/kinect_calibrate_guiMain.cpp: In member function ‘void kinect_calibrate_guiDialog::ProcessNewGrabbedObs()’:
/home/maria/libs/mrpt/apps/kinect-stereo-calib/kinect_calibrate_guiMain.cpp:1796:14: error: ‘class CMyGLCanvas’ has no member named ‘last_timestamp’
m_plot3D->last_timestamp = m_last_obs->timestamp;
^
/home/maria/libs/mrpt/apps/kinect-stereo-calib/kinect_calibrate_guiMain.cpp: In member function ‘void kinect_calibrate_guiDialog::CalibUpdate3DViewCameras()’:
/home/maria/libs/mrpt/apps/kinect-stereo-calib/kinect_calibrate_guiMain.cpp:2939:20: error: ‘class CMyGLCanvas’ has no member named ‘setOpenGLSceneRef’
m_plot3D_cameras->setOpenGLSceneRef(scene);
^
apps/kinect-stereo-calib/CMakeFiles/kinect-stereo-calib.dir/build.make:86: recipe for target 'apps/kinect-stereo-calib/CMakeFiles/kinect-stereo-calib.dir/kinect_calibrate_guiMain.cpp.o' failed
make[2]: *** [apps/kinect-stereo-calib/CMakeFiles/kinect-stereo-calib.dir/kinect_calibrate_guiMain.cpp.o] Error 1
I've tried also adding the flag -DBUILD_APPLICATIONS=OFF
and undefined reference problem appears:
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::updateLastPos(int, int)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::updateCameraParams(mrpt::opengl::CCamera&) const'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `vtable for mrpt::gui::CGlCanvasBase'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setMousePos(int, int)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setAzimuthDegrees(float)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `typeinfo for mrpt::gui::CGlCanvasBase'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::updateZoom(mrpt::gui::CGlCanvasBase::CamaraParams&, float) const'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setZoomDistance(float)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setElevationDegrees(float)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::clearColors()'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setCameraFOV(float)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::renderCanvas(int, int)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::updateOrbitCamera(mrpt::gui::CGlCanvasBase::CamaraParams&, int, int) const'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setCameraProjective(bool)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setMouseClicked(bool)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setCameraPointing(float, float, float)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::setCameraParams(mrpt::gui::CGlCanvasBase::CamaraParams const&)'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::updateZoom(mrpt::gui::CGlCanvasBase::CamaraParams&, int, int) const'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::updateRotate(mrpt::gui::CGlCanvasBase::CamaraParams&, int, int) const'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::updatePan(mrpt::gui::CGlCanvasBase::CamaraParams&, int, int) const'
../lib/libmrpt-gui.so.1.9.9: undefined reference to `mrpt::gui::CGlCanvasBase::cameraParams() const'
I've tried also with -DBUILD_mrpt-gui=OFF
and the result is totally different:
struct timespec tp;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:125:2: warning: implicit declaration of function ‘clock_gettime’ [-Wimplicit-function-declaration]
clock_gettime(CLOCK_REALTIME, &tp); // compile with -lrt
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:125:16: error: ‘CLOCK_REALTIME’ undeclared (first use in this function)
clock_gettime(CLOCK_REALTIME, &tp); // compile with -lrt
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:125:16: note: each undeclared identifier is reported only once for each function it appears in
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:128:3: warning: implicit declaration of function ‘localtime_r’ [-Wimplicit-function-declaration]
localtime_r(&tp.tv_sec,date_);
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:124:18: warning: unused variable ‘tp’ [-Wunused-variable]
struct timespec tp;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c: In function ‘XsTime_msleep’:
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:272:18: error: storage size of ‘ts’ isn’t known
struct timespec ts;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:274:2: error: unknown type name ‘clockid_t’
clockid_t clockid = CLOCK_MONOTONIC;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:274:22: error: ‘CLOCK_MONOTONIC’ undeclared (first use in this function)
clockid_t clockid = CLOCK_MONOTONIC;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:281:8: warning: implicit declaration of function ‘pthread_condattr_setclock’ [-Wimplicit-function-declaration]
ret = pthread_condattr_setclock(&ca, clockid);
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:284:3: warning: implicit declaration of function ‘pthread_condattr_getclock’ [-Wimplicit-function-declaration]
pthread_condattr_getclock(&ca, &clockid);
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:272:18: warning: unused variable ‘ts’ [-Wunused-variable]
struct timespec ts;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c: In function ‘XsTime_udelay’:
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:338:18: error: storage size of ‘ts’ isn’t known
struct timespec ts;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:340:2: error: unknown type name ‘clockid_t’
clockid_t clockid = CLOCK_MONOTONIC;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:340:22: error: ‘CLOCK_MONOTONIC’ undeclared (first use in this function)
clockid_t clockid = CLOCK_MONOTONIC;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:338:18: warning: unused variable ‘ts’ [-Wunused-variable]
struct timespec ts;
^
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c: In function ‘XsTime_getTimeOfDay’:
/home/maria/.libs/mrpt/libs/hwdrivers/src/xSens_MT4/xstypes/src/xstime.c:136:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
libs/hwdrivers/CMakeFiles/mrpt-hwdrivers.dir/build.make:1349: recipe for target 'libs/hwdrivers/CMakeFiles/mrpt-hwdrivers.dir/src/xSens_MT4/xstypes/src/xstime.c.o' failed
make[2]: *** [libs/hwdrivers/CMakeFiles/mrpt-hwdrivers.dir/src/xSens_MT4/xstypes/src/xstime.c.o] Error 1
CMakeFiles/Makefile2:681: recipe for target 'libs/hwdrivers/CMakeFiles/mrpt-hwdrivers.dir/all' failed
make[1]: *** [libs/hwdrivers/CMakeFiles/mrpt-hwdrivers.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
@MariaRamos89 Hi Maria, According to the shippable build matrix, MRPT master branch now builds cleanly without the need to add any custom CMake flag when OpenGL, GLUT, wxWidgets, Qt, etc. etc. are missing in the system.
Please, give it a try with git clean
and git checkout master
, then rebuilding from scratch in a new empty build directory.
Thanks @jlblancoc . It's working only using the -DDISABLE_OPENCV=ON
flag in master
branch.
Thanks for your help!
If you omit that flag then how does it fail?
No, it is not failing. I just wanted to be sure in the first try that opencv 2.4 it wasn't installed. It hasn't been installed in any case without the flag. Thanks for your help! :)
From: https://gitter.im/MRPT/mrpt
Alex Giokas @alexge233 Oct 05 04:47 Hi Hunter, I'm trying to build a minimal version of MRPT-1.9.9 (from github) without any GUI stuff. I keep running into the same issue:
Hunter Laux @jolting Oct 05 10:38 Did you try USE_QT=false?
Alex Giokas @alexge233 Oct 06 02:08 I did now. This is weird, Cmake spots no presence of QT, wxWidgets but it still tries to build the GUI library. I've also run into a similar issue: I can compile the library if I install freeglut-dev, but when I build by application which links to mrpt, then I get link errors to assimp.so.4. Where do you default to using gui and opengl, maybe I can hack into it and turn them off.
Alex Giokas @alexge233 Oct 06 02:14 For example, running with -DUSE_QT=false it still tries to build velodyne (which I don't need) which then fails to link to pthread:
Just fyi, I am willing to contribute if you point me to the right direction, it's the least I can do
Alex Giokas @alexge233 Oct 06 05:51 This is what I'm trying with right now:
Still, I get: