Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.

catkin_make error #105

Open
tegg89 opened this issue Jan 4, 2018 · 1 comment
Open

catkin_make error #105

tegg89 opened this issue Jan 4, 2018 · 1 comment

Comments

@tegg89
Copy link

tegg89 commented Jan 4, 2018

I am using Ubuntu 16.04 and kinetic for ROS version.
As the documents, I cloned it and catkin_make.
At first, it recommends using catkin_make_isolated command instead.
The followings are error messages:

Base path: /media/tegg/Another_Disk/catkin_ws
Source space: /media/tegg/Another_Disk/catkin_ws/src
Build space: /media/tegg/Another_Disk/catkin_ws/build_isolated
Devel space: /media/tegg/Another_Disk/catkin_ws/devel_isolated
Install space: /media/tegg/Another_Disk/catkin_ws/install_isolated
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~  traversing 9 packages in topological order:
~~  - cartographer_ros_msgs
~~  - ceres-solver (plain cmake)
~~  - cartographer (plain cmake)
~~  - cartographer_ros
~~  - cartographer_rviz
~~  - ethzasl_ptam
~~  - ptam_com
~~  - ptam
~~  - rqt_ptam
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

==> Processing catkin package: 'cartographer_ros_msgs'
==> cmake /media/tegg/Another_Disk/catkin_ws/src/cartographer_ros/cartographer_ros_msgs -DCATKIN_DEVEL_PREFIX=/media/tegg/Another_Disk/catkin_ws/devel_isolated/cartographer_ros_msgs -DCMAKE_INSTALL_PREFIX=/media/tegg/Another_Disk/catkin_ws/install_isolated -G Unix Makefiles in '/media/tegg/Another_Disk/catkin_ws/build_isolated/cartographer_ros_msgs'
CMake Error: Error: generator : Unix Makefiles
Does not match the generator used previously: Ninja
Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.
<== Failed to process package 'cartographer_ros_msgs': 
  Command '['cmake', '/media/tegg/Another_Disk/catkin_ws/src/cartographer_ros/cartographer_ros_msgs', '-DCATKIN_DEVEL_PREFIX=/media/tegg/Another_Disk/catkin_ws/devel_isolated/cartographer_ros_msgs', '-DCMAKE_INSTALL_PREFIX=/media/tegg/Another_Disk/catkin_ws/install_isolated', '-G', 'Unix Makefiles']' returned non-zero exit status 1

Reproduce this error by running:
==> cd /media/tegg/Another_Disk/catkin_ws/build_isolated/cartographer_ros_msgs && cmake /media/tegg/Another_Disk/catkin_ws/src/cartographer_ros/cartographer_ros_msgs -DCATKIN_DEVEL_PREFIX=/media/tegg/Another_Disk/catkin_ws/devel_isolated/cartographer_ros_msgs -DCMAKE_INSTALL_PREFIX=/media/tegg/Another_Disk/catkin_ws/install_isolated -G 'Unix Makefiles'

Command failed, exiting.

Inside of `catkin_ws/build/CMakeFiles/CMakeError.log', following messages are written:

Determining if the pthread_create exist failed with the following output:
Change Dir: /media/tegg/Another_Disk/catkin_ws/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_3365a/fast"
/usr/bin/make -f CMakeFiles/cmTC_3365a.dir/build.make CMakeFiles/cmTC_3365a.dir/build
make[1]: Entering directory '/media/tegg/Another_Disk/catkin_ws/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_3365a.dir/CheckSymbolExists.c.o
/usr/bin/cc     -o CMakeFiles/cmTC_3365a.dir/CheckSymbolExists.c.o   -c /media/tegg/Another_Disk/catkin_ws/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_3365a
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3365a.dir/link.txt --verbose=1
/usr/bin/cc       CMakeFiles/cmTC_3365a.dir/CheckSymbolExists.c.o  -o cmTC_3365a -rdynamic 
CMakeFiles/cmTC_3365a.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_3365a.dir/build.make:97: recipe for target 'cmTC_3365a' failed
make[1]: *** [cmTC_3365a] Error 1
make[1]: Leaving directory '/media/tegg/Another_Disk/catkin_ws/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_3365a/fast' failed
make: *** [cmTC_3365a/fast] Error 2

File /media/tegg/Another_Disk/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: /media/tegg/Another_Disk/catkin_ws/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_43c8c/fast"
/usr/bin/make -f CMakeFiles/cmTC_43c8c.dir/build.make CMakeFiles/cmTC_43c8c.dir/build
make[1]: Entering directory '/media/tegg/Another_Disk/catkin_ws/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_43c8c.dir/CheckFunctionExists.c.o
/usr/bin/cc    -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_43c8c.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.5/Modules/CheckFunctionExists.c
Linking C executable cmTC_43c8c
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_43c8c.dir/link.txt --verbose=1
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_43c8c.dir/CheckFunctionExists.c.o  -o cmTC_43c8c -rdynamic -lpthreads 
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_43c8c.dir/build.make:97: recipe for target 'cmTC_43c8c' failed
make[1]: *** [cmTC_43c8c] Error 1
make[1]: Leaving directory '/media/tegg/Another_Disk/catkin_ws/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_43c8c/fast' failed
make: *** [cmTC_43c8c/fast] Error 2

I am a novice to SLAM and ROS. Is there any solution for this issue?

Thanks in advance.

@horcham
Copy link

horcham commented May 17, 2019

I meet the same problem.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants