cartographer_ros
cartographer_ros copied to clipboard
Issue building Dockerfile.kinetic
Hi Cartographer team!
I encounter this issue when I try to build a Docker container for ROS Kinetic using Dockerfile.kinetic
The command used to build it is docker build -t cartographer-kinetic -f Dockerfile.kinetic .
And the error message I get is below.
How can I begin troubleshooting this?
Thank you.
In file included from /catkin_ws/src/cartographer/cartographer/transform/timestamped_transform.h:21:0,
from /catkin_ws/src/cartographer/cartographer/mapping/pose_extrapolator_interface.h:28,
from /catkin_ws/src/cartographer/cartographer/mapping/pose_extrapolator.h:25,
from /catkin_ws/src/cartographer/cartographer/mapping/pose_extrapolator.cc:17:
./cartographer/transform/proto/timestamped_transform.pb.h:177:30: error: expected ‘}’ before end of line
./cartographer/transform/proto/timestamped_transform.pb.h:177:30: error: expected declaration before end of line
ninja: build stopped: subcommand failed.
Command failed, exiting.
Base path: /catkin_ws
Source space: /catkin_ws/src
Build space: /catkin_ws/build_isolated
Devel space: /catkin_ws/devel_isolated
Install space: /opt/cartographer_ros
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~ traversing 4 packages in topological order:
~~ - cartographer (plain cmake)
~~ - cartographer_ros_msgs
~~ - cartographer_ros
~~ - cartographer_rviz
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The packages or cmake arguments have changed, forcing cmake invocation
==> Processing plain cmake package: 'cartographer'
==> Creating build directory: 'build_isolated/cartographer/install'
==> cmake /catkin_ws/src/cartographer -DCMAKE_INSTALL_PREFIX=/opt/cartographer_ros -G Ninja in '/catkin_ws/build_isolated/cartographer/install'
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- 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 using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type: Release
Files /catkin_ws/build_isolated/cartographer/install/AllFiles.cmake and - differ
-- Found PythonInterp: /usr/bin/python (found version "2.7.12")
-- 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
-- Found GMock: gmock_main;-lpthread
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- iostreams
-- regex
-- Found required Ceres dependency: Eigen version 3.2.92 in /usr/include/eigen3
-- Found required Ceres dependency: glog
-- Performing Test GFLAGS_IN_GOOGLE_NAMESPACE
-- Performing Test GFLAGS_IN_GOOGLE_NAMESPACE - Success
-- Found required Ceres dependency: gflags
-- Found Ceres version: 1.12.0 installed in: /usr with components: [LAPACK, SuiteSparse, SparseLinearAlgebraLibrary, CXSparse, SchurSpecializations, OpenMP]
-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.2.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.2.4")
-- Found Protobuf: /usr/local/lib/libprotobuf.a (Required is at least version "3.0.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for one of the modules 'cairo>=1.12.16'
-- Found Sphinx: /usr/bin/sphinx-build
-- Configuring done
-- Generating done
-- Build files have been written to: /catkin_ws/build_isolated/cartographer/install
==> ninja -j16 -l16 in '/catkin_ws/build_isolated/cartographer/install'
<== Failed to process package 'cartographer':
Command '['ninja', '-j16', '-l16']' returned non-zero exit status 1
Reproduce this error by running:
==> cd /catkin_ws/build_isolated/cartographer && ninja -j16 -l16
The command '/bin/sh -c cartographer_ros/scripts/install.sh --pkg cartographer && cartographer_ros/scripts/install.sh --pkg cartographer --make-args test' returned a non-zero code: 1
I am also experiencing this issue when I run "catkin_make_isolated --install --use-ninja" after following this tutorial.
nvidia@nvidia-desktop:~/catkin_ws$ cat /home/nvidia/catkin_ws/build/CMakeFiles/CMakeError.log
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/nvidia/catkin_ws/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/ninja" "cmTC_ac935"
[1/2] Building C object CMakeFiles/cmTC_ac935.dir/CheckSymbolExists.c.o
[2/2] Linking C executable cmTC_ac935
FAILED: cmTC_ac935
: && /usr/bin/cc -rdynamic CMakeFiles/cmTC_ac935.dir/CheckSymbolExists.c.o -o cmTC_ac935 && :
CMakeFiles/cmTC_ac935.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x14): undefined reference to `pthread_create'
CheckSymbolExists.c:(.text+0x18): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
File /home/nvidia/catkin_ws/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/nvidia/catkin_ws/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/ninja" "cmTC_7fa55"
[1/2] Building C object CMakeFiles/cmTC_7fa55.dir/CheckFunctionExists.c.o
[2/2] Linking C executable cmTC_7fa55
FAILED: cmTC_7fa55
: && /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_7fa55.dir/CheckFunctionExists.c.o -o cmTC_7fa55 -lpthreads && :
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.