Undefined reference to `mysqlx::abi2::r0::Schema::Schema(mysqlx ::abi2::r0::Session&)' - c++

I had a problem when linking to mysqlcppconn (version 8.0.30) (similar to the issue described here).
Here is my code:
mysqlx::Session sess2("localhost", 33060,
"root", "test",
"postManufDB");
Schema mySchema(sess2);
CMakeLists.txt (used to compile my app):
cmake_minimum_required(VERSION 3.5)
project(PostManuf VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CPP_CON_VERSION_MAJOR 8)
set(CPP_CON_LIB mysqlcppconn${CPP_CON_VERSION_MAJOR})
set(FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR "/usr/local/mysql/connector-c++-8.0.30")
set(CPP_CON_LIB_INC ${FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR}/include/)
set(CPP_CON_LIB_LINK ${FULL_PATH_TO_MYSQL_CONNECTOR_CPP_DIR}/lib64/debug/)
include_directories(${CPP_CON_LIB_INC})
link_directories(${CPP_CON_LIB_LINK})
set(PROJECT_SOURCES
main.cpp
mainwindow.cpp
mainwindow.h
)
add_executable(PostManuf ${PROJECT_SOURCES})
target_link_libraries(PostManuf PRIVATE ${CPP_CON_LIB})
Error:
mainwindow.cpp:(.text+0x3ab6): undefined reference to `mysqlx::abi2::r0::Schema::Schema(mysqlx
::abi2::r0::Session&)'
collect2: error: ld returned 1 exit status
Steps I've followed:
Download mysqlcppconn binaries and used it for development
Compiled mysqlcppconn binary from source and linked to it
Added add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) to CMakeLists.txt, but
then I have a lot more errors:
mainwindow.cpp:(.text+0x3bb2): undefined reference to `mysqlx::abi2::r0::Schema::Schema(mysqlx
::abi2::r0::Session&)'
/usr/bin/ld: CMakeFiles/PostManuf.dir/mainwindow.cpp.o: in function `mysqlx::abi2::r0::string:
:traits<char>::from_str(mysqlx::abi2::r0::string&, std::string const&)':
mainwindow.cpp:(.text._ZN6mysqlx4abi22r06string6traitsIcE8from_strERS2_RKSs[_ZN6mysqlx4abi22r0
6string6traitsIcE8from_strERS2_RKSs]+0x23): undefined reference to `mysqlx::abi2::r0::string::
Impl::from_utf8(mysqlx::abi2::r0::string&, std::string const&)'
/usr/bin/ld: CMakeFiles/PostManuf.dir/mainwindow.cpp.o: in function `void mysqlx::abi2::r0::in
ternal::Settings_detail<mysqlx::abi2::r0::internal::Settings_traits>::set<true, mysqlx::abi2::
r0::SessionOption, std::string const&, mysqlx::abi2::r0::SessionOption::Enum, unsigned int&, m
ysqlx::abi2::r0::SessionOption::Enum, mysqlx::abi2::r0::string const&>(mysqlx::abi2::r0::Sessi
onOption, std::string const&, mysqlx::abi2::r0::SessionOption::Enum&&, unsigned int&, mysqlx::
abi2::r0::SessionOption::Enum&&, mysqlx::abi2::r0::string const&)':
mainwindow.cpp:(.text._ZN6mysqlx4abi22r08internal15Settings_detailINS2_15Settings_traitsEE3set
ILb1ENS1_13SessionOptionEJRKSsNS7_4EnumERjSA_RKNS1_6stringEEEEvT0_DpOT1_[_ZN6mysqlx4abi22r08in
ternal15Settings_detailINS2_15Settings_traitsEE3setILb1ENS1_13SessionOptionEJRKSsNS7_4EnumERjS
A_RKNS1_6stringEEEEvT0_DpOT1_]+0xbc): undefined reference to `mysqlx::abi2::r0::internal::Sett
ings_detail<mysqlx::abi2::r0::internal::Settings_traits>::do_set(std::list<std::pair<int, mysq
lx::abi2::r0::Value>, std::allocator<std::pair<int, mysqlx::abi2::r0::Value> > >&&)'
/usr/bin/ld: CMakeFiles/PostManuf.dir/mainwindow.cpp.o: in function `void mysqlx::abi2::r0::in
ternal::Settings_detail<mysqlx::abi2::r0::internal::Settings_traits>::set<true, mysqlx::abi2::
r0::SessionOption, std::string>(mysqlx::abi2::r0::SessionOption, std::string&&)':
mainwindow.cpp:(.text._ZN6mysqlx4abi22r08internal15Settings_detailINS2_15Settings_traitsEE3set
ILb1ENS1_13SessionOptionEJSsEEEvT0_DpOT1_[_ZN6mysqlx4abi22r08internal15Settings_detailINS2_15S
ettings_traitsEE3setILb1ENS1_13SessionOptionEJSsEEEvT0_DpOT1_]+0x56): undefined reference to `
mysqlx::abi2::r0::internal::Settings_detail<mysqlx::abi2::r0::internal::Settings_traits>::do_s
et(std::list<std::pair<int, mysqlx::abi2::r0::Value>, std::allocator<std::pair<int, mysqlx::ab
i2::r0::Value> > >&&)'
/usr/bin/ld: CMakeFiles/PostManuf.dir/mainwindow.cpp.o: in function `void mysqlx::abi2::r0::in
ternal::Settings_detail<mysqlx::abi2::r0::internal::Settings_traits>::set<true, mysqlx::abi2::
r0::SessionOption, mysqlx::abi2::r0::string const&>(mysqlx::abi2::r0::SessionOption, mysqlx::a
bi2::r0::string const&)':
mainwindow.cpp:(.text._ZN6mysqlx4abi22r08internal15Settings_detailINS2_15Settings_traitsEE3set
ILb1ENS1_13SessionOptionEJRKNS1_6stringEEEEvT0_DpOT1_[_ZN6mysqlx4abi22r08internal15Settings_de
tailINS2_15Settings_traitsEE3setILb1ENS1_13SessionOptionEJRKNS1_6stringEEEEvT0_DpOT1_]+0x56):
undefined reference to `mysqlx::abi2::r0::internal::Settings_detail<mysqlx::abi2::r0::internal
::Settings_traits>::do_set(std::list<std::pair<int, mysqlx::abi2::r0::Value>, std::allocator<s
td::pair<int, mysqlx::abi2::r0::Value> > >&&)'
collect2: error: ld returned 1 exit status
I can run the application successfully when using more common classes (e.g. Session).
But when using Schema, I can't link.
CMake configuration to compile mysqlcppconn from source (contains compiler info):
=== Booststrap ===
-- generator: Unix Makefiles
-- build type: Debug
-- ----
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.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
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zmpl/tmp/mysql-connector-cpp/build/platform-cache
=== Booststrap done ===
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- BIG_ENDIAN: 0
Building version 8.0.30
Building on system: Linux-5.15.0-46-generic (x86_64)
Using cmake generator: Unix Makefiles
Using toolset:
Building 64bit code
Building shared connector library
Configuring CDK as part of MySQL_CONCPP project
-- Looking for SSL library.
-- found OpenSSL headers at: /usr/include
-- OpenSSL library: /usr/lib/x86_64-linux-gnu/libssl.so
-- OpenSSL crypto library: /usr/lib/x86_64-linux-gnu/libcrypto.so
-- Using OpenSSL version: 1.1.1f
-- Looking for SHA512_DIGEST_LENGTH
-- Looking for SHA512_DIGEST_LENGTH - found
-- Looking for X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS
-- Looking for X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS - found
-- Looking for SSL_get0_param
-- Looking for SSL_get0_param - found
-- Looking for X509_VERIFY_PARAM_set_hostflags
-- Looking for X509_VERIFY_PARAM_set_hostflags - found
-- Looking for X509_VERIFY_PARAM_set1_host
-- Looking for X509_VERIFY_PARAM_set1_host - found
-- found required X509 extensions
-- Setting up RapidJSON.
Skipping second declaration of config option: THROW_AS_ASSERT (found in: /home/zmpl/tmp/mysql-
connector-cpp/cdk/CMakeLists.txt)
-- Performing Test HAVE_STATIC_ASSERT
-- Performing Test HAVE_STATIC_ASSERT - Success
-- Performing Test HAVE_IS_SAME
-- Performing Test HAVE_IS_SAME - Failed
-- Performing Test HAVE_SHARED_PTR
-- Performing Test HAVE_SHARED_PTR - Success
-- Performing Test HAVE_SYSTEM_ERROR
-- Performing Test HAVE_SYSTEM_ERROR - Success
-- Check size of wchar_t
-- Check size of wchar_t - done
-- Setting up Protobuf.
== configuring external build of protobuf
-- sources at: /home/zmpl/tmp/mysql-connector-cpp/cdk/extra/protobuf
-- generator: Unix Makefiles
-- option CMAKE_BUILD_TYPE: Debug
-- option CMAKE_SYSTEM_NAME: Linux
-- option CMAKE_SYSTEM_VERSION: 5.15.0-46-generic
-- option CMAKE_SYSTEM_PROCESSOR: x86_64
-- option CMAKE_C_COMPILER: /usr/bin/cc
-- option CMAKE_CXX_COMPILER: /usr/bin/c++
-- ----
Not searching for unused variables given on the command line.
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- BIG_ENDIAN: 0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zmpl/tmp/mysql-connector-cpp/build/cdk/protocol/mys
qlx/protobuf
== done configuring external build of protobuf
-- Setting up compression libraries.
== configuring external build of zlib
-- sources at: /home/zmpl/tmp/mysql-connector-cpp/cdk/extra/zlib
-- generator: Unix Makefiles
-- option CMAKE_BUILD_TYPE: Debug
-- option CMAKE_SYSTEM_NAME: Linux
-- option CMAKE_SYSTEM_VERSION: 5.15.0-46-generic
-- option CMAKE_SYSTEM_PROCESSOR: x86_64
-- option CMAKE_C_COMPILER: /usr/bin/cc
-- option CMAKE_CXX_COMPILER: /usr/bin/c++
-- ----
Not searching for unused variables given on the command line.
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- BIG_ENDIAN: 0
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zmpl/tmp/mysql-connector-cpp/build/cdk/protocol/mys
qlx/zlib
== done configuring external build of zlib
== configuring external build of lz4
-- sources at: /home/zmpl/tmp/mysql-connector-cpp/cdk/extra/lz4
-- generator: Unix Makefiles
-- option CMAKE_BUILD_TYPE: Debug
-- option CMAKE_SYSTEM_NAME: Linux
-- option CMAKE_SYSTEM_VERSION: 5.15.0-46-generic
-- option CMAKE_SYSTEM_PROCESSOR: x86_64
-- option CMAKE_C_COMPILER: /usr/bin/cc
-- option CMAKE_CXX_COMPILER: /usr/bin/c++
-- ----
Not searching for unused variables given on the command line.
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- BIG_ENDIAN: 0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zmpl/tmp/mysql-connector-cpp/build/cdk/protocol/mys
qlx/lz4
== done configuring external build of lz4
== configuring external build of zstd
-- sources at: /home/zmpl/tmp/mysql-connector-cpp/cdk/extra/zstd
-- generator: Unix Makefiles
-- option CMAKE_BUILD_TYPE: Debug
-- option CMAKE_SYSTEM_NAME: Linux
-- option CMAKE_SYSTEM_VERSION: 5.15.0-46-generic
-- option CMAKE_SYSTEM_PROCESSOR: x86_64
-- option CMAKE_C_COMPILER: /usr/bin/cc
-- option CMAKE_CXX_COMPILER: /usr/bin/c++
-- ----
Not searching for unused variables given on the command line.
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- BIG_ENDIAN: 0
-- ZSTD_LEGACY_SUPPORT not defined!
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zmpl/tmp/mysql-connector-cpp/build/cdk/protocol/mys
qlx/zstd
== done configuring external build of zstd
-- Looking for sys/endian.h
-- Looking for sys/endian.h - not found
-- Looking for sys/byteorder.h
-- Looking for sys/byteorder.h - not found
Wrote configuration header: /home/zmpl/tmp/mysql-connector-cpp/build/cdk/include/mysql/cdk/con
fig.h
Preparing to merge SHARED library: connector (xapi;devapi)
Connector library name: mysqlcppconn8
Building version 8.0.30
Generating INFO_SRC
Generating INFO_BIN
Install location: /usr/local/mysql/connector-c++-8.0.30
Connector libraries will be installed at: lib64
Project configuration options:
: BUILD_STATIC: OFF
Build static version of connector library
: WITH_SSL: system
Either 'system' to use system-wide OpenSSL library, or custom OpenSSL location. (default : sys
tem)
: WITH_JDBC: OFF
Whether to build a variant of connector library which implements legacy JDBC API
-- Configuring done
-- Generating done

Related

C++/Cmake - Unable to compile MySQL Connector

This is what I do:
git clone https://github.com/mysql/mysql-connector-cpp.git
Than I do:
cd mysql-connector-cpp
git checkout 8.0
cmake .
And than I receive the following output:
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.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
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- BIG_ENDIAN: 0
Building version 8.0.26
Building on system: Linux-5.11.0-27-generic (x86_64)
Using cmake generator: Unix Makefiles
Using toolset:
Building 64bit code
Building shared connector library
Configuring CDK as part of MySQL_CONCPP project
-- Looking for SSL library.
CMake Error at cdk/cmake/DepFindSSL.cmake:79 (message):
Cannot find appropriate system libraries for SSL. Make sure you've
specified a supported SSL version. Consult the documentation for WITH_SSL
alternatives
Call Stack (most recent call first):
cdk/cmake/DepFindSSL.cmake:354 (main)
cdk/cmake/dependency.cmake:42 (include)
cdk/CMakeLists.txt:96 (find_dependency)
-- Setting up Protobuf.
==== Configuring Protobuf build using cmake generator: Unix Makefiles -DCMAKE_SYSTEM_NAME=Linux;-DCMAKE_SYSTEM_VERSION=5.11.0-27-generic
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.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
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- BIG_ENDIAN: 0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/armegon/mysql-connector-cpp/cdk/protobuf
==== Protobuf build configured.
Processor Count: 8
-- Setting up RapidJSON.
Skipping second declaration of config option: THROW_AS_ASSERT (found in: /home/armegon/mysql-connector-cpp/cdk/CMakeLists.txt)
-- Performing Test HAVE_STATIC_ASSERT
-- Performing Test HAVE_STATIC_ASSERT - Success
-- Performing Test HAVE_IS_SAME
-- Performing Test HAVE_IS_SAME - Failed
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- ZSTD_LEGACY_SUPPORT not defined!
-- Performing Test HAVE_SHARED_PTR
-- Performing Test HAVE_SHARED_PTR - Success
-- Performing Test HAVE_SYSTEM_ERROR
-- Performing Test HAVE_SYSTEM_ERROR - Success
-- Check size of wchar_t
-- Check size of wchar_t - done
-- Looking for sys/endian.h
-- Looking for sys/endian.h - not found
-- Looking for sys/byteorder.h
-- Looking for sys/byteorder.h - not found
Wrote configuration header: /home/armegon/mysql-connector-cpp/cdk/include/mysql/cdk/config.h
Preparing to merge SHARED library: connector (xapi;devapi)
Connector library name: mysqlcppconn8
Building version 8.0.26
Generating INFO_SRC
Generating INFO_BIN
Install location: /usr/local/mysql/connector-c++-
Connector libraries will be installed at: lib64
Project configuration options:
: BUILD_STATIC: OFF
Build static version of connector library
: WITH_SSL: system
Either 'system' to use system-wide OpenSSL library, or custom OpenSSL location. (default : system)
: WITH_JDBC: OFF
Whether to build a variant of connector library which implements legacy JDBC API
-- Configuring incomplete, errors occurred!
See also "/home/armegon/mysql-connector-cpp/CMakeFiles/CMakeOutput.log".
See also "/home/armegon/mysql-connector-cpp/CMakeFiles/CMakeError.log".
The content of CMakeOutput.log is here and the content of CMakeError.log is here.
Any idea how can I fix this issue ?
Never, ever do an in-source build. cmake . is always wrong. It even says so in the MySQL documentation: https://dev.mysql.com/doc/connector-cpp/8.0/en/connector-cpp-installation-source-cpp.html
This worked for me:
$ git clone --depth 1 --branch 8.0 https://github.com/mysql/mysql-connector-cpp.git
$ cmake -G "Unix Makefiles" -S mysql-connector-cpp -B mysql-connector-cpp-build -DCMAKE_BUILD_TYPE=Release
$ cmake --build mysql-connector-cpp-build
It also looks like you're missing the SSL dependency. If you're running a Debian derivative (Ubuntu, Mint), you can install this with:
$ sudo apt install libssl-dev

cmake configuration failed while building MRPT library

I am trying to install MRPT, especially commit 0c3d605c3c recommended in PL-SLAM documentation; however, I am consistently getting cmake error while building the repo. Is there any way to resolve this issue? Your help would be highly appreciable.
System info:
Linux rock 5.3.0-40-generic #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Cmake Output:
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.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
CMake Deprecation Warning at CMakeLists.txt:33 (cmake_policy):
The OLD behavior for policy CMP0026 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
-- Architecture (uname -m): x86_64
-- Kernel name (uname -s): Linux
CMake Error at cmakemodules/script_detect_gcc.cmake:16 (LIST):
LIST GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:83 (include)
CMake Error at cmakemodules/script_detect_gcc.cmake:17 (LIST):
LIST GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:83 (include)
-- 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 lrint
-- Looking for lrint - found
-- Looking for erf
-- Looking for erf - 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
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so
-- Found wxWidgets: -L/usr/lib/x86_64-linux-gnu;-pthread;;;-lwx_baseu-3.0;-lwx_gtk2u_core-3.0;-lwx_gtk2u_gl-3.0;-lwx_gtk2u_adv-3.0;-lwx_gtk2u_aui-3.0;-lwx_gtk2u_html-3.0 (found version "3.0.4")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- 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
fatal: not a git repository (or any parent up to mount point /mnt)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
--
-- List of MRPT libs/modules to be built (and dependencies):
-- -----------------------------------------------------------------
-- mrpt-base :
-- mrpt-bayes : mrpt-base (header-only)
-- mrpt-detectors : mrpt-vision;mrpt-maps;mrpt-gui;mrpt-slam;mrpt-base;mrpt-opengl;mrpt-obs
-- mrpt-graphs : mrpt-base (header-only)
-- mrpt-graphslam : mrpt-graphs;mrpt-base (header-only)
-- mrpt-gui : mrpt-opengl;mrpt-base
-- mrpt-hmtslam : mrpt-slam;mrpt-graphslam;mrpt-graphs;mrpt-vision;mrpt-maps;mrpt-base;mrpt-obs;mrpt-opengl
-- mrpt-hwdrivers : mrpt-base;mrpt-maps;mrpt-obs;mrpt-gui;mrpt-opengl;mrpt-maps;mrpt-vision
-- mrpt-kinematics : mrpt-opengl;mrpt-base
-- mrpt-maps : mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-nav : mrpt-graphs;mrpt-maps;mrpt-kinematics;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-reactivenav : mrpt-nav;mrpt-graphs;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base (meta-lib)
-- mrpt-obs : mrpt-opengl;mrpt-base
-- mrpt-opengl : mrpt-base
-- mrpt-slam : mrpt-bayes;mrpt-graphs;mrpt-vision;mrpt-tfest;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-tfest : mrpt-base
-- mrpt-scanmatching : mrpt-tfest;mrpt-base (meta-lib)
-- mrpt-topography : mrpt-base;mrpt-obs;mrpt-opengl;mrpt-tfest
-- mrpt-vision : mrpt-obs;mrpt-opengl;mrpt-base;mrpt-opengl
--
-- +===========================================================================+
-- | Resulting configuration for MRPT 1.5.0 |
-- +===========================================================================+
-- _________________________ PLATFORM _____________________________
-- Host : Linux5.3.0-40-genericx86_64
-- Is the system big endian? : No
-- Word size (32/64 bit) : 64
-- CMake version : 3.10.2
-- CMake generator : Unix Makefiles
-- CMake build tool : /usr/bin/make
date: invalid date ‘#’
-- MRPT SOURCE_DATE_EPOCH : ()
-- Compiler : GNU
-- Configuration : Release
-- C++ flags (Release): -isystem /usr/include/wx-3.0 -I /usr/include/wx-3.0 -isystem /usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -I /usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -isystem /usr/local/include/eigen3 -pthread -Wreturn-type -Wextra -Wno-unused-parameter -Wall -Wno-long-long -Wno-variadic-macros -Wno-write-strings -std=c++11 -pthread -O3 -mtune=native -msse2 -funroll-loops -mfpmath=sse -msse3 -mssse3 -msse4.1 -msse4.2 -O3 -DNDEBUG
--
-- __________________________ 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 : /mnt/data/mrpt/build/include/mrpt-config/unix/
--
-- ______________________ OPTIONAL LIBRARIES ______________________
-- Assimp (3D models) : Yes (System) [Version: 4.1.0]
-- eigen3 : Yes (System) [Version: 3.1.0]
-- ffmpeg libs (Video streaming) : Yes (System) [avcodec 57.107.100, avutil 55.78.100, avformat 57.83.100]
-- gtest (Google unit testing library) : Yes (Built-in)
-- Intel threading lib (TBB) : No
-- lib3ds (3DStudio scenes) : Yes (Built-in)
-- libclang (for ConvertUTF) : Yes (Built-in)
-- libjpeg (jpeg) : Yes (System)
-- liblas (ASPRS LAS LiDAR format) : No
-- mexplus : No
-- OpenCV (Image manipulation) : Yes (System) [Version: 4.2.0]
-- OpenGL : Yes (System)
-- GLUT : Yes (System)
-- PCAP (Wireshark logs for Velodyne) : Yes (System)
-- PCL (Pointscloud library) : No [Version: ]
-- SuiteSparse : Yes
-- wxWidgets : Yes (System)
-- zlib (compression) : Yes (System)
-- yamlcpp (YAML file format) : Yes (System) [Version: 0.5.2]
--
-- _______________________ 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) : Yes (System) [Version: ]
-- National Instruments...
-- ...NIDAQmx? : No
-- ...NIDAQmx Base? : No
-- NITE2 library : No
-- OpenKinect libfreenect : Yes (System)
-- 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) : Yes (System)
-- xSENS MT 3rd generation : Yes (Built-in)
-- xSENS MT 4th generation : Yes (Built-in)
-- Intersense sensors : No
--
-- Configuring incomplete, errors occurred!
See also "/mnt/data/mrpt/build/CMakeFiles/CMakeOutput.log".
See also "/mnt/data/mrpt/build/CMakeFiles/CMakeError.log".
There is a pending pull request here that fixes all those problems, but author hasn't merged it yet... Apparently he left for the industry and is too busy :-)
Checkout the code for that PR and give it a try.
Exactly the same happens with the dependency stvo-pl and this pr.

GCC C++/G++ [NOT VC++] connect to MySQL on Windows 8.1 (MinGW/Cygwin) and Installing Connector/C++ from Source

Please help fix the error on Installing Connector/C++ from Source, while "make clean". There are two parts to the question:
Part 1 of the Question: What is the error (cdk/parser/CMakeFiles/cdk_parser.dir/flags.make) missing separator?
[E:\Working\SQL\MySQL\C++>git clone https://github.com/mysql/mysql-connector-cpp
Cloning into 'mysql-connector-cpp'...
remote: Counting objects: 16511, done.
remote: Total 16511 (delta 0), reused 0 (delta 0), pack-reused 16511
Receiving objects: 100% (16511/16511), 7.77 MiB | 48.00 KiB/s, done.
Resolving deltas: 100% (13018/13018), done.
Checking connectivity... done.
Checking out files: 100% (739/739), done.
E:\Working\SQL\MySQL\C++>cd mysql-connector-cpp
E:\Working\SQL\MySQL\C++\mysql-connector-cpp>"C:\Program Files\CMake\bin\cmake.exe" -G "MinGW Makefiles" -DWITH_BOOST="E:\Working\SQL\MySQL\C++\Boost\Unix-Varia
nts\boost_1_63_0"
-- The C compiler identification is GNU 5.1.0
-- The CXX compiler identification is GNU 5.1.0
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe -- 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: C:/TDM-GCC-64/bin/g++.exe
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Building on system: Windows-6.3.9600 (AMD64)
Using cmake generator: MinGW Makefiles
Using 64bit generator
Building shared connector library
-- Boost version: 1.63.0
Configuring CDK as part of MySQL_CONCPP project
WITH_TESTS: OFF
CDK include path: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/include;E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/include
-- Performing Test HAVE_MOVE_SEMANTICS
-- Performing Test HAVE_MOVE_SEMANTICS - Failed
-- Boost version: 1.63.0
Configuring Protobuf build using cmake generator: MinGW Makefiles
-- The C compiler identification is GNU 5.1.0
-- The CXX compiler identification is GNU 5.1.0
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe -- 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: C:/TDM-GCC-64/bin/g++.exe
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
Using pthreads for protobuf code
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/protobuf
Protobuf include path: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/protobuf/protobuf-2.6.0/src
WITH_SSL: OFF
-- Performing Test HAVE_STATIC_ASSERT
-- Performing Test HAVE_STATIC_ASSERT - Failed
-- Performing Test HAVE_IS_SAME
-- Performing Test HAVE_IS_SAME - Failed
-- Performing Test HAVE_SHARED_PTR
-- Performing Test HAVE_SHARED_PTR - Failed
-- Looking for sys/endian.h
-- Looking for sys/endian.h - not found
-- Looking for sys/byteorder.h
-- Looking for sys/byteorder.h - not found
-adding static library: cdk_mysqlx_objs
-adding static library: cdk_proto_mysqlx_objs
-adding static library: cdk_foundation_objs
-adding static library: cdk_parser_objs
Merging static libraries into cdk:
- cdk
- protobuf-lite
- cdk_mysqlx_objs
- cdk_proto_mysqlx_objs
- cdk_foundation_objs
- cdk_parser_objs
Wrote configuration header: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/include/mysql/cdk/config.h
Connector library name: mysqlcppconn2
Connector library will be installed at: lib64
Install location: C:/Users/Aspire/MySQL/MySQL Connector C++ 2.0
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Working/SQL/MySQL/C++/mysql-connector-cpp
E:\Working\SQL\MySQL\C++\mysql-connector-cpp>"C:\Program Files (x86)\GnuWin32\bin\make.exe" clean
cdk/parser/CMakeFiles/cdk_parser.dir/flags.make:6: *** missing separator. Stop.
make\[1\]: *** \[cdk/parser/CMakeFiles/cdk_parser.dir/clean\] Error 2
make: *** \[clean\] Error 2
E:\Working\SQL\MySQL\C++\mysql-connector-cpp>][1]
Please note that Boost has been installed successfully and is working fine as evident from the following output of example.cpp:
$ c++ /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/example.cpp -o example \
> -I /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/boost_1_63_0 \
> /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/boost_1_63_0/Boost-Build/boost/bin.v2/libs/regex/build/gcc-mingw-5.1.0/release/link-static/threading-multi/libboost_regex-mgw51-mt-1_63.a
$ ./example.exe < /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/jayne.txt
Will Success Spoil Rock Hunter?
Part 2 of the Question:
Also, tried in vain the GCC C++/G++ [NOT VC++] connect to MySQL on Windows 8.1 (MinGW/Cygwin) as in the Getting Started with Connector/C++: Usage Examples - Example1:
$ g++ -o Example1 Example1.cpp \
> -I /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/boost_1_63_0 \
> -I/e/Working/SQL/MySQL/C++/mysql-connector-c++-noinstall-1.1.8-winx64/include \
> -I/e/Working/SQL/MySQL/C++/mysql-connector-c++-noinstall-1.1.8-winx64/include/cppconn \
> -L/e/Working/SQL/MySQL/C++/mysql-connector-c++-noinstall-1.1.8-winx64/lib/mysqlcppconn
C:\Users\Aspire\AppData\Local\Temp\ccDVNizG.o:Example1.cpp:(.text+0x4f): undefined reference to `__imp_get_driver_instance'
collect2.exe: error: ld returned 1 exit status
Please help explain the error: undefined reference to `__imp_get_driver_instance', although perhaps the wrong library (format) mysqlcppconn.lib (mysql-connector-c++-noinstall-1.1.8-winx64) linked while compiling, and possibly help resolve this error.

Point Cloud Library (PCL) basic tutorial cmake and make errors on Ubuntu 16.04

I've been trying to get PCL (1.8) working properly on my system (Ubuntu 16.04) but I am struggling to get even the basic tutorial to work. I could not install the prebuilt binaries supplied by pointclouds.org so instead followed the answer from this post and used the native repository from Ubuntu to install v1.8.
I then began to run into the same issues raised in this question. I fixed some of them myself using symlinks to correct paths broken by renaming and also installed the missing packages that I could. However I am unable to successfully create a usable makefile.
I am trying to follow this tutorial from pointclouds.org just so I can make sure everything is working.
Output from running cmake:
-- The C compiler identification is GNU 4.9.3
-- The CXX compiler identification is GNU 4.9.3
-- 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.2.92
-- Found eigen: /usr/include/eigen3
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- thread
-- date_time
-- iostreams
-- serialization
-- chrono
-- atomic
-- regex
-- Checking for module 'libopenni'
-- Found libopenni, version 1.5.4.0
-- Found openni: /usr/lib/libOpenNI.so
-- Checking for module 'libopenni2'
-- Found libopenni2, version 2.2.0.3
-- Found OpenNI2: /usr/lib/libOpenNI2.so
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
-- The imported target "vtkRenderingPythonTkWidgets" references the file
"/usr/lib/x86_64-linux-gnu/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.2/VTKTargets.cmake"
but not all the files it references.
-- Found libusb-1.0: /usr/include
-- looking for PCL_COMMON
-- Found PCL_COMMON: /usr/lib/x86_64-linux-gnu/libpcl_common.so
-- looking for PCL_OCTREE
-- Found PCL_OCTREE: /usr/lib/x86_64-linux-gnu/libpcl_octree.so
-- looking for PCL_IO
-- Found PCL_IO: /usr/lib/x86_64-linux-gnu/libpcl_io.so
-- Found PCL: /usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/lib/x86_64-linux-gnu/libpcl_common.so;debug;/usr/lib/x86_64-linux-gnu/libpcl_common.so;optimized;/usr/lib/x86_64-linux-gnu/libpcl_octree.so;debug;/usr/lib/x86_64-linux-gnu/libpcl_octree.so;/usr/lib/libOpenNI.so;/usr/lib/libOpenNI2.so;vtkImagingStencil;vtkCommonComputationalGeometry;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkImagingCore;vtkCommonExecutionModel;vtkFiltersAMR;vtkFiltersGeneral;vtkFiltersCore;vtkParallelCore;vtkIOLegacy;vtkIOCore;/usr/lib/x86_64-linux-gnu/libz.so;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingSources;vtkRenderingCore;vtkCommonColor;vtkFiltersExtraction;vtkFiltersStatistics;vtkImagingFourier;vtkalglib;vtkFiltersGeometry;vtkFiltersSources;vtkFiltersModeling;vtkImagingGeneral;vtkImagingHybrid;vtkIOImage;vtkDICOMParser;vtkmetaio;/usr/lib/x86_64-linux-gnu/libjpeg.so;/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libtiff.so;vtkInteractionStyle;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingFreeType;/usr/lib/x86_64-linux-gnu/libfreetype.so;vtkftgl;vtkRenderingVolume;vtkIOParallelNetCDF;vtkParallelMPI;/usr/lib/x86_64-linux-gnu/libnetcdf_c++.so;/usr/lib/x86_64-linux-gnu/libnetcdf.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5_hl.so;vtkRenderingOpenGL;vtkIOLSDyna;vtkIOXML;vtkIOGeometry;/usr/lib/x86_64-linux-gnu/libjsoncpp.so;vtkIOXMLParser;/usr/lib/x86_64-linux-gnu/libexpat.so;vtkLocalExample;vtkInfovisCore;vtkGeovisCore;vtkInfovisLayout;vtkViewsCore;vtkproj4;/usr/lib/x86_64-linux-gnu/libpython2.7.so;vtkTestingGenericBridge;/usr/lib/libgl2ps.so;verdict;vtkIOMovie;/usr/lib/x86_64-linux-gnu/libtheoraenc.so;/usr/lib/x86_64-linux-gnu/libtheoradec.so;/usr/lib/x86_64-linux-gnu/libogg.so;vtkFiltersImaging;vtkIOMINC;vtkRenderingLOD;vtkViewsQt;vtkGUISupportQt;vtkViewsInfovis;vtkChartsCore;vtkRenderingContext2D;vtkRenderingLabel;vtkRenderingImage;vtkFiltersFlowPaths;vtkxdmf2;/usr/lib/x86_64-linux-gnu/libxml2.so;vtkFiltersReebGraph;vtkViewsContext2D;vtkIOXdmf2;vtkIOAMR;vtkRenderingContextOpenGL;vtkImagingStatistics;vtkIOParallel;vtkFiltersParallel;vtkIONetCDF;vtkexoIIc;vtkGUISupportQtOpenGL;vtkIOParallelLSDyna;vtkFiltersParallelGeometry;vtkGUISupportQtWebkit;vtkIOPLY;vtkWrappingTools;vtkFiltersHyperTree;vtkRenderingVolumeOpenGL;vtkIOExodus;vtkIOPostgreSQL;vtkIOSQL;sqlite3;vtkWrappingJava;vtkFiltersParallelFlowPaths;vtkFiltersParallelStatistics;vtkFiltersProgrammable;vtkFiltersParallelImaging;vtkRenderingParallelLIC;vtkRenderingLIC;vtkInteractionImage;vtkFiltersPython;vtkWrappingPythonCore;vtkIOParallelExodus;vtkFiltersGeneric;vtkIOVideo;vtkRenderingQt;vtkFiltersTexture;vtkIOInfovis;vtkGUISupportQtSQL;vtkRenderingFreeTypeOpenGL;vtkInfovisBoostGraphAlgorithms;vtkRenderingGL2PS;vtkIOGeoJSON;vtkFiltersVerdict;vtkViewsGeovis;vtkIOImport;vtkTestingIOSQL;vtkPythonInterpreter;vtkIOODBC;vtkIOEnSight;vtkIOMySQL;vtkRenderingMatplotlib;vtkDomainsChemistry;vtkIOExport;vtkFiltersParallelMPI;vtkIOParallelXML;vtkTestingRendering;vtkIOMPIParallel;vtkParallelMPI4Py;vtkFiltersSMP;vtkFiltersSelection;vtkIOVPIC;VPIC;vtkImagingMath;vtkImagingMorphological;vtkRenderingParallel;vtkRenderingFreeTypeFontConfig;vtkIOFFMPEG;vtkIOMPIImage;vtkIOGDAL;optimized;/usr/lib/x86_64-linux-gnu/libpcl_io.so;debug;/usr/lib/x86_64-linux-gnu/libpcl_io.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/libOpenNI.so;/usr/lib/libOpenNI2.so;vtkImagingStencil;vtkCommonComputationalGeometry;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkImagingCore;vtkCommonExecutionModel;vtkFiltersAMR;vtkFiltersGeneral;vtkFiltersCore;vtkParallelCore;vtkIOLegacy;vtkIOCore;/usr/lib/x86_64-linux-gnu/libz.so;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingSources;vtkRenderingCore;vtkCommonColor;vtkFiltersExtraction;vtkFiltersStatistics;vtkImagingFourier;vtkalglib;vtkFiltersGeometry;vtkFiltersSources;vtkFiltersModeling;vtkImagingGeneral;vtkImagingHybrid;vtkIOImage;vtkDICOMParser;vtkmetaio;/usr/lib/x86_64-linux-gnu/libjpeg.so;/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libtiff.so;vtkInteractionStyle;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingFreeType;/usr/lib/x86_64-linux-gnu/libfreetype.so;vtkftgl;vtkRenderingVolume;vtkIOParallelNetCDF;vtkParallelMPI;/usr/lib/x86_64-linux-gnu/libnetcdf_c++.so;/usr/lib/x86_64-linux-gnu/libnetcdf.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5_hl.so;vtkRenderingOpenGL;vtkIOLSDyna;vtkIOXML;vtkIOGeometry;/usr/lib/x86_64-linux-gnu/libjsoncpp.so;vtkIOXMLParser;/usr/lib/x86_64-linux-gnu/libexpat.so;vtkLocalExample;vtkInfovisCore;vtkGeovisCore;vtkInfovisLayout;vtkViewsCore;vtkproj4;/usr/lib/x86_64-linux-gnu/libpython2.7.so;vtkTestingGenericBridge;/usr/lib/libgl2ps.so;verdict;vtkIOMovie;/usr/lib/x86_64-linux-gnu/libtheoraenc.so;/usr/lib/x86_64-linux-gnu/libtheoradec.so;/usr/lib/x86_64-linux-gnu/libogg.so;vtkFiltersImaging;vtkIOMINC;vtkRenderingLOD;vtkViewsQt;vtkGUISupportQt;vtkViewsInfovis;vtkChartsCore;vtkRenderingContext2D;vtkRenderingLabel;vtkRenderingImage;vtkFiltersFlowPaths;vtkxdmf2;/usr/lib/x86_64-linux-gnu/libxml2.so;vtkFiltersReebGraph;vtkViewsContext2D;vtkIOXdmf2;vtkIOAMR;vtkRenderingContextOpenGL;vtkImagingStatistics;vtkIOParallel;vtkFiltersParallel;vtkIONetCDF;vtkexoIIc;vtkGUISupportQtOpenGL;vtkIOParallelLSDyna;vtkFiltersParallelGeometry;vtkGUISupportQtWebkit;vtkIOPLY;vtkWrappingTools;vtkFiltersHyperTree;vtkRenderingVolumeOpenGL;vtkIOExodus;vtkIOPostgreSQL;vtkIOSQL;sqlite3;vtkWrappingJava;vtkFiltersParallelFlowPaths;vtkFiltersParallelStatistics;vtkFiltersProgrammable;vtkFiltersParallelImaging;vtkRenderingParallelLIC;vtkRenderingLIC;vtkInteractionImage;vtkFiltersPython;vtkWrappingPythonCore;vtkIOParallelExodus;vtkFiltersGeneric;vtkIOVideo;vtkRenderingQt;vtkFiltersTexture;vtkIOInfovis;vtkGUISupportQtSQL;vtkRenderingFreeTypeOpenGL;vtkInfovisBoostGraphAlgorithms;vtkRenderingGL2PS;vtkIOGeoJSON;vtkFiltersVerdict;vtkViewsGeovis;vtkIOImport;vtkTestingIOSQL;vtkPythonInterpreter;vtkIOODBC;vtkIOEnSight;vtkIOMySQL;vtkRenderingMatplotlib;vtkDomainsChemistry;vtkIOExport;vtkFiltersParallelMPI;vtkIOParallelXML;vtkTestingRendering;vtkIOMPIParallel;vtkParallelMPI4Py;vtkFiltersSMP;vtkFiltersSelection;vtkIOVPIC;VPIC;vtkImagingMath;vtkImagingMorphological;vtkRenderingParallel;vtkRenderingFreeTypeFontConfig;vtkIOFFMPEG;vtkIOMPIImage;vtkIOGDAL (Required is at least version "1.3")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/matt/hdd_home/pcl/tutorials/build
As can quite easily been seen, what is outputted is very different to what is shown in the tutorial.
It does create a build file so I can run make which errors and outputs:
[ 50%] Building CXX object CMakeFiles/pcd_write_test.dir/pcd_write.cpp.o
[100%] Linking CXX executable pcd_write_test
/usr/bin/ld: cannot find -lvtkproj4
collect2: error: ld returned 1 exit status
CMakeFiles/pcd_write_test.dir/build.make:330: recipe for target 'pcd_write_test' failed
make[2]: *** [pcd_write_test] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pcd_write_test.dir/all' failed
make[1]: *** [CMakeFiles/pcd_write_test.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
I've tried what I can but maybe I lack enough experience to get this all sorted and working.
I also manually installed the package libproj-dev but this did not fix the issue.
Any help would be much appreciated!
The installation is missing python-vtk which is available in the Ubuntu repository.
This contains the required libvtkRenderingPythonTkWidgets package.
Installing it should remove the problem:
sudo apt update
sudo apt install python-vtk
It did for me.

Shogun fails to compile. Are these Shogun bugs?

I am trying to compile Shogun on Fedora 23 64bit, but it fails with the errors below. Version 4.0.0 have the same issue.
Can anyone tell me, if there errors are bugs in Shogun or something I have done wrong?
dnf -y install git gcc which gcc-c++ doxygen numpy make cmake wget tar bzip2
cd /tmp
wget http://www.hdfgroup.org/ftp/HDF5/current/src/CMake-hdf5-1.8.16.tar.gz
tar xzf CMake-hdf5-1.8.16.tar.gz
cd CMake-hdf5-1.8.16
./build-unix.sh
cp -a HDF5-1.8.16-Linux/HDF_Group/HDF5/1.8.16/* /usr/local
cd /tmp
wget http://download.mosek.com/stable/7.1.0.41/mosektoolslinux64x86.tar.bz2
tar xjf mosektoolslinux64x86.tar.bz2
mv mosek/7 /root/mosek
export PATH=/root/mosek/tools/platform/linux64x86/bin/:$PATH
cp mosek.lic /root/mosek
cd /root/mosek/tools/platform/linux64x86/python/2/
python setup.py install --user
dnf -y install swig git cmake ccache gdb Pkgconfig NLopt-devel NLopt lpsolve-devel lpsolve ColPack-cli ColPack ColPack-devel arprec-devel arprec libxml2 libxml2-devel bzip2 bzip2-devel snappy-devel snappy protobuf-devel protobuf glpk glpk-devel libcurl-devel libcurl lzo lzo-devel lapack lapack-devel python-devel atlas atlas-devel qd qd-devel
cd /
git clone https://github.com/shogun-toolbox/shogun.git
cd /shogun/ && mkdir build && cd build
cmake -D BUNDLE_EIGEN=ON -D PythonModular=ON ..
make
And here is the output with the errors.
[ 0%] Built target Eigen3
[ 1%] Built target class_list
[ 1%] Built target ChunksProtobuf
[ 2%] Built target HeadersProtobuf
[ 2%] Built target ShogunVersionProtobuf
[ 3%] Generating version header
[ 3%] Built target version
[ 75%] Built target libshogun
[ 75%] Built target shogun
[ 75%] copying SWIG files
[ 75%] Built target python_modular_src
[ 75%] Built target python_doxy2swig
[ 75%] Built target _python_modular
[ 75%] Built target shogun-static
[ 75%] Linking CXX executable balanced_conditional_probability_tree
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dtrsm'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dgemm'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_sscal'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dgemv'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dasum'
../../../src/shogun/libshogun.so.17.1: undefined reference to `SZ_BufftoBuffDecompress'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dscal'
../../../src/shogun/libshogun.so.17.1: undefined reference to `SZ_encoder_enabled'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_daxpy'
../../../src/shogun/libshogun.so.17.1: undefined reference to `shogun::CPrimalMosekSOSVM::CPrimalMosekSOSVM()'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_saxpy'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_ddot'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dnrm2'
../../../src/shogun/libshogun.so.17.1: undefined reference to `shogun::CMosek::CMosek()'
../../../src/shogun/libshogun.so.17.1: undefined reference to `SZ_BufftoBuffCompress'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_sasum'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dger'
collect2: error: ld returned 1 exit status
examples/undocumented/libshogun/CMakeFiles/balanced_conditional_probability_tree.dir/build.make:126: recipe for target 'examples/undocumented/libshogun/balanced_conditional_probability_tree' failed
make[2]: *** [examples/undocumented/libshogun/balanced_conditional_probability_tree] Error 1
CMakeFiles/Makefile2:811: recipe for target 'examples/undocumented/libshogun/CMakeFiles/balanced_conditional_probability_tree.dir/all' failed
make[1]: *** [examples/undocumented/libshogun/CMakeFiles/balanced_conditional_probability_tree.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
[root#2d55f69e8521 build]#
Update
Here is the output from cmake
-- The C compiler identification is GNU 5.1.1
-- The CXX compiler identification is GNU 5.1.1
-- Check for working C compiler: /usr/lib64/ccache/cc
-- Check for working C compiler: /usr/lib64/ccache/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/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found CCache: /usr/bin/ccache
-- Found SWIG: /usr/lib64/ccache/swig (found suitable version "3.0.7", minimum required is "2.0.4")
-- Performing Test _HAS_CXX11_FLAG
-- Performing Test _HAS_CXX11_FLAG - Success
-- Checking C++11 support for "__func__"
-- Checking C++11 support for "__func__": works
-- Checking C++11 support for "atomic"
-- Checking C++11 support for "atomic": works
-- Checking C++11 support for "auto"
-- Checking C++11 support for "auto": works
-- Checking C++11 support for "auto_ret_type"
-- Checking C++11 support for "auto_ret_type": works
-- Checking C++11 support for "class_override_final"
-- Checking C++11 support for "class_override_final": not supported
-- Checking C++11 support for "constexpr"
-- Checking C++11 support for "constexpr": works
-- Checking C++11 support for "cstdint"
-- Checking C++11 support for "cstdint": works
-- Checking C++11 support for "decltype"
-- Checking C++11 support for "decltype": works
-- Checking C++11 support for "initializer_list"
-- Checking C++11 support for "initializer_list": works
-- Checking C++11 support for "lambda"
-- Checking C++11 support for "lambda": works
-- Checking C++11 support for "long_long"
-- Checking C++11 support for "long_long": works
-- Checking C++11 support for "nullptr"
-- Checking C++11 support for "nullptr": works
-- Checking C++11 support for "regex"
-- Checking C++11 support for "regex": works
-- Checking C++11 support for "rvalue-references"
-- Checking C++11 support for "rvalue-references": works
-- Checking C++11 support for "sizeof_member"
-- Checking C++11 support for "sizeof_member": works
-- Checking C++11 support for "static_assert"
-- Checking C++11 support for "static_assert": works
-- Checking C++11 support for "variadic_templates"
-- Checking C++11 support for "variadic_templates": works
-- Looking for C++ include unordered_map
-- Looking for C++ include unordered_map - found
-- Using system's malloc
-- Looking for isfinite
-- Looking for isfinite - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for signgam
-- Looking for signgam - found
-- Looking for fdopen
-- Looking for fdopen - found
-- Looking for log2
-- Looking for log2 - found
-- Looking for powl
-- Looking for powl - found
-- Looking for lgammal
-- Looking for lgammal - found
-- Looking for sqrtl
-- Looking for sqrtl - found
-- Looking for finite
-- Looking for finite - found
-- Looking for isfinite
-- Looking for isfinite - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for isnan
-- Looking for isnan - found
-- Performing Test HAVE_STD_ISINF
-- Performing Test HAVE_STD_ISINF - Success
-- Performing Test HAVE_STD_ISFINITE
-- Performing Test HAVE_STD_ISFINITE - Success
-- Performing Test HAVE_STD_ISNAN
-- Performing Test HAVE_STD_ISNAN - Success
-- Looking for xmmintrin.h
-- Looking for xmmintrin.h - found
-- Looking for emmintrin.h
-- Looking for emmintrin.h - found
-- Looking for arc4random
-- Looking for arc4random - not found
-- Found GDB: /usr/bin/gdb
-- Could NOT find MOSEK (missing: MOSEK_DIR MOSEK_INCLUDE_DIR MOSEK_LIBRARY)
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- 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 PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- Looking for clapack_dpotrf in /usr/lib64/liblapack.so
-- Looking for clapack_dpotrf in /usr/lib64/liblapack.so - not found
-- Could NOT find ATLAS (missing: ATLAS_LIBRARIES)
-- Found CBLAS: /lib64/libgslcblas.so
-- Looking for cblas_dsyrk in /lib64/libgslcblas.so
-- Looking for cblas_dsyrk in /lib64/libgslcblas.so - found
-- Found GLPK: /lib64/libglpk.so
-- Could NOT find CPLEX (missing: CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
-- Could NOT find OPENCL (missing: OPENCL_LIBRARY OPENCL_INCLUDE_DIR)
-- Could NOT find ViennaCL (missing: VIENNACL_INCLUDE_DIR OPENCL_INCLUDE_DIRS OPENCL_LIBRARIES) (Required is at least version "1.5.0")
-- checking for one of the modules 'libColPack>=1.0.9;ColPack>=1.0.9'
-- Found NLOPT: /usr/lib64/libnlopt_cxx.so
-- Found LPSOLVE: /usr/lib64/liblpsolve55.so
-- Found ColPack: /lib64/libColPack.so
-- Found ARPREC: /lib64/libarprec.so
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.10")
-- Found PythonInterp: /usr/bin/python (found version "2.7.10")
-- checking for one of the modules 'libjson>=0.11;json>=0.11;json-c>=0.11'
-- Found LibXml2: /usr/lib64/libxml2.so (found version "2.9.2")
-- Found HDF5: /usr/local/lib/libhdf5.a (found version "1.8.16")
-- Found CURL: /usr/lib64/libcurl.so (found version "7.43.0")
-- Found ZLIB: /usr/local/lib/libz.a (found version "1.2.8")
-- Found BZip2: /usr/lib64/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so - found
-- Looking for lzma_auto_decoder in /usr/lib64/liblzma.so
-- Looking for lzma_auto_decoder in /usr/lib64/liblzma.so - found
-- Looking for lzma_easy_encoder in /usr/lib64/liblzma.so
-- Looking for lzma_easy_encoder in /usr/lib64/liblzma.so - found
-- Looking for lzma_lzma_preset in /usr/lib64/liblzma.so
-- Looking for lzma_lzma_preset in /usr/lib64/liblzma.so - found
-- Found LibLZMA: /usr/include (found version "5.2.1")
-- Found SNAPPY: /usr/lib64/libsnappy.so
-- Lzo Library /usr/lib64/liblzo2.so
-- Lzo Include Found in /usr/include
-- Spinlock support found
-- Found PROTOBUF: /usr/lib64/libprotobuf.so
-- Supported backend(s) for linear algebra NOT FOUND/NOT ENABLED
-- Found PythonLibs: /usr/lib64/libpython2.7.so (found version "2.7.10")
-- Found NumPy: version "1.9.2" /usr/lib64/python2.7/site-packages/numpy/core/include
-- ===================================================================================================================
-- Summary of Configuration Variables
--
-- The following OPTIONAL packages have been found:
* CCache
* GDB
* OpenMP
* BLAS
* LAPACK
* CBLAS
* GLPK
* NLopt
* LpSolve
* ColPack
* ARPREC
* Doxygen
* LibXml2
* HDF5
* CURL
* ZLIB
* BZip2
* LibLZMA
* SNAPPY
* LZO
* Spinlock
* Threads
* Protobuf
-- The following REQUIRED packages have been found:
* SWIG (required version >= 2.0.4)
* PythonLibs
* PythonInterp
* NumPy
-- The following OPTIONAL packages have not been found:
* Mosek
* Atlas
* CPLEX
* ARPACK
* ViennaCL (required version >= 1.5.0)
-- The following REQUIRED packages have not been found:
* OpenCL
-- ===================================================================================================================
-- Enabled Integration
-- OpenCV Integration is OFF - enable with -DOpenCV=ON
-- ===================================================================================================================
-- Enabled Interfaces
-- libshogun is ON
-- python modular is ON
-- octave modular is OFF - enable with -DOctaveModular=ON
-- java modular is OFF - enable with -DJavaModular=ON
-- perl modular is OFF - enable with -DPerlModular=ON
-- ruby modular is OFF - enable with -DRubyModular=ON
-- csharp modular is OFF - enable with -DCSharpModular=ON
-- R modular is OFF - enable with -DRModular=ON
-- lua modular is OFF - enable with -DLuaModular=ON
--
-- Enabled legacy interfaces
-- cmdline static is OFF - enable with -DCmdLineStatic=ON
-- python static is OFF - enable with -DPythonStatic=ON
-- octave static is OFF - enable with -DOctaveStatic=ON
-- matlab static is OFF - enable with -DMatlabStatic=ON
-- R static is OFF - enable with -DRStatic=ON
-- ===================================================================================================================
-- To compile shogun type
-- make
--
-- To install shogun to /usr/local type
-- make install
--
-- or to install to a custom directory
-- make install DESTDIR=/my/special/path
-- (or rerun cmake with -DCMAKE_INSTALL_PREFIX=/my/special/path) to just change the prefix
-- ===================================================================================================================
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/shogun/build
Fedora 23, shogun : # dnf install shogun-devel
Provides version 4.0.1-0.1.git20150808.779c3ad.fc23
If you want a "build experience" : The Fedora 23 source package : shogun-4.0.1-0.1.git20150808.779c3ad.fc23.src.rpm → → includes also "gmock-1.7.0.zip".
Unpacking the source in /home/[name]/ : $ rpm -i shogun-4.0.1-0.1.git20150808.779c3ad.fc23.src.rpm
Building the packages : $ cd rpm*/SPECS/ && rpmbuild -bb shogun.spec
You have to install gsl-devel too, it seems that you didn't.
dnf install gsl-devel