
I face a problem using catkin_make. It seems that the c compiler cannot be found. the final error I am getting is is Invoking "cmake" failed.
The environment variables seem ok:
ROS_PACKAGE_PATH=/home/thanos/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks and the installed version of the compiler is: cmake version 2.8.12.2
I have edited the .bashrc file as follows:
source /opt/ros/indigo/setup.bash source ~/catkin_ws/devel/setup.bash Please any help would be more than welcome!
The result I get from catkin_make is :
Base path: /home/thanos/catkin_ws Source space: /home/thanos/catkin_ws/src Build space: /home/thanos/catkin_ws/build Devel space: /home/thanos/catkin_ws/devel Install space: /home/thanos/catkin_ws/install #### #### Running command: "cmake /home/thanos/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/thanos/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/thanos/catkin_ws/install -G Unix Makefiles" in "/home/thanos/catkin_ws/build" #### -- Using CATKIN_DEVEL_PREFIX: /home/thanos/catkin_ws/devel -- Using CMAKE_PREFIX_PATH: /home/thanos/catkin_ws/devel;/opt/ros/indigo -- This workspace overlays: /home/thanos/catkin_ws/devel;/opt/ros/indigo -- Using PYTHON_EXECUTABLE: /usr/bin/python -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/thanos/catkin_ws/build/test_results -- Found gtest sources under '/usr/src/gtest': gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.6.14 -- BUILD_SHARED_LIBS is on -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~ traversing 34 packages in topological order: -- ~~ - joystick_drivers (metapackage) -- ~~ - navigation (metapackage) -- ~~ - p2os_doc -- ~~ - p2os_launch -- ~~ - static_localizer -- ~~ - move_base_msgs -- ~~ - p2os_msgs -- ~~ - ps3joy -- ~~ - spacenav_node -- ~~ - joy -- ~~ - teleop_twist_joy -- ~~ - fake_localization -- ~~ - following -- ~~ - map_server -- ~~ - amcl -- ~~ - p2os_driver -- ~~ - p2os_teleop -- ~~ - robot_pose_ekf -- ~~ - rosaria -- ~~ - p2os_urdf -- ~~ - urg_node -- ~~ - voxel_grid -- ~~ - costmap_2d -- ~~ - nav_core -- ~~ - base_local_planner -- ~~ - carrot_planner -- ~~ - clear_costmap_recovery -- ~~ - dwa_local_planner -- ~~ - move_slow_and_clear -- ~~ - navfn -- ~~ - global_planner -- ~~ - rotate_recovery -- ~~ - move_base -- ~~ - wiimote -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- +++ processing catkin metapackage: 'joystick_drivers' -- ==> add_subdirectory(joystick_drivers/joystick_drivers) -- +++ processing catkin metapackage: 'navigation' -- ==> add_subdirectory(navigation/navigation) -- +++ processing catkin package: 'p2os_doc' -- ==> add_subdirectory(p2os/p2os_doc) -- +++ processing catkin package: 'p2os_launch' -- ==> add_subdirectory(p2os/p2os_launch) -- +++ processing catkin package: 'static_localizer' -- ==> add_subdirectory(static_localizer) ... Finds all the packages and creates all the subdirectories.. -- +++ processing catkin package: 'wiimote' -- ==> add_subdirectory(joystick_drivers/wiimote) -- Using these message generators: gencpp;genlisp;genpy -- wiimote: 3 messages, 0 services -- Configuring incomplete, errors occurred! See also "/home/thanos/catkin_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/thanos/catkin_ws/build/CMakeFiles/CMakeError.log". Invoking "cmake" failed In the CMakeErrors.log I get the following errors:
Determining if the pthread_create exist failed with the following output: Change Dir: /home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make "cmTryCompileExec997468529/fast" /usr/bin/make -f CMakeFiles/cmTryCompileExec997468529.dir/build.make CMakeFiles/cmTryCompileExec997468529.dir/build make[1]: Entering directory `/home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec997468529.dir/CheckSymbolExists.c.o /usr/bin/cc -o CMakeFiles/cmTryCompileExec997468529.dir/CheckSymbolExists.c.o -c /home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTryCompileExec997468529 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec997468529.dir/link.txt --verbose=1 /usr/bin/cc CMakeFiles/cmTryCompileExec997468529.dir/CheckSymbolExists.c.o -o cmTryCompileExec997468529 -rdynamic CMakeFiles/cmTryCompileExec997468529.dir/CheckSymbolExists.c.o: In function `main': CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create' collect2: error: ld returned 1 exit status make[1]: *** [cmTryCompileExec997468529] Error 1 make[1]: Leaving directory `/home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp' make: *** [cmTryCompileExec997468529/fast] Error 2 Determining if the include file FL/Fl.H exists failed with the following output: Change Dir: /home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make "cmTryCompileExec2890154973/fast" /usr/bin/make -f CMakeFiles/cmTryCompileExec2890154973.dir/build.make CMakeFiles/cmTryCompileExec2890154973.dir/build make[1]: Entering directory `/home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec2890154973.dir/CheckIncludeFile.cxx.o /usr/bin/c++ -Wno-deprecated -o CMakeFiles/cmTryCompileExec2890154973.dir/CheckIncludeFile.cxx.o -c /home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp/CheckIncludeFile.cxx /home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp/CheckIncludeFile.cxx:1:19: fatal error: FL/Fl.H: No such file or directory #include <FL/Fl.H> ^ compilation terminated. make[1]: *** [CMakeFiles/cmTryCompileExec2890154973.dir/CheckIncludeFile.cxx.o] Error 1 make[1]: Leaving directory `/home/thanos/catkin_ws/build/CMakeFiles/CMakeTmp' make: *** [cmTryCompileExec2890154973/fast] Error 2 Please any help would be more than welcome!
Edit:
The conclusion was derived from the fact that there are no lines about the C/C++ compiler anywhere in the catkin_make, as you mentioned. You are right about the CMake. The catkin_make command was working properly about a month ago. I have these problems without and significant changes in the system except for the regular updates.
I installed ROS using this tutorial: http://wiki.ros.org/indigo/Installation/Ubuntu
After facing this problem I re-initialized the workspace using the following tutorial: http://wiki.ros.org/catkin/Tutorials/create_a_workspace
os version:
Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty kernel version 3.13.0-63-generic
The output of which gcc is: /usr/bin/gcc
Edit:
The output of catkin_make in /tmp/catkin_test/ is the following:
Base path: /tmp/catkin_test Source space: /tmp/catkin_test/src Build space: /tmp/catkin_test/build Devel space: /tmp/catkin_test/devel Install space: /tmp/catkin_test/install Creating symlink "/tmp/catkin_test/src/CMakeLists.txt" pointing to "/opt/ros/indigo/share/catkin/cmake/toplevel.cmake" #### #### Running command: "cmake /tmp/catkin_test/src -DCATKIN_DEVEL_PREFIX=/tmp/catkin_test/devel -DCMAKE_INSTALL_PREFIX=/tmp/catkin_test/install -G Unix Makefiles" in "/tmp/catkin_test/build" #### -- The C compiler identification is GNU 4.8.4 -- The CXX compiler identification is GNU 4.8.4 -- 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 -- 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 -- Using CATKIN_DEVEL_PREFIX: /tmp/catkin_test/devel -- Using CMAKE_PREFIX_PATH: /opt/ros/indigo -- This workspace overlays: /opt/ros/indigo -- Found PythonInterp: /usr/bin/python (found version "2.7.6") -- Using PYTHON_EXECUTABLE: /usr/bin/python -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /tmp/catkin_test/build/test_results -- 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 -- Found gtest sources under '/usr/src/gtest': gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.6.14 -- BUILD_SHARED_LIBS is on -- Configuring done -- Generating done -- Build files have been written to: /tmp/catkin_test/build #### #### Running command: "make -j8 -l8" in "/tmp/catkin_test/build" #### The output of cmake --system-information:
Avoid ctest truncation of output: CTEST_FULL_OUTPUT MAIN VARIABLES CMAKE_STATIC_LIBRARY_PREFIX == "lib" CMAKE_STATIC_LIBRARY_SUFFIX == ".a" CMAKE_SHARED_LIBRARY_PREFIX == "lib" CMAKE_SHARED_LIBRARY_SUFFIX == ".so" CMAKE_SHARED_MODULE_PREFIX == "lib" CMAKE_SHARED_MODULE_SUFFIX == ".so" CMAKE_DL_LIBS == "dl" CMAKE_LIBRARY_PATH_FLAG == "-L" CMAKE_LINK_LIBRARY_FLAG == "-l" CMAKE_SKIP_RPATH == "NO" CMAKE_SYSTEM_INFO_FILE == "Platform/Linux" CMAKE_SYSTEM_NAME == "Linux" CMAKE_SYSTEM == "Linux-3.13.0-63-generic" CMAKE_CXX_COMPILER == "/usr/bin/c++" CMAKE_C_COMPILER == "/usr/bin/cc" CMAKE_COMPILER_IS_GNUCC == "1" CMAKE_COMPILER_IS_GNUCXX == "1" Edit: As I mentioned previously in my question I followed this tutorial [http://wiki.ros.org/catkin/Tutorials/create_a_workspace] (http://wiki.ros.org/catkin/Tutorials/create_a_workspace) in order to initialize my workspace. So after having this problem I saved the src folder of catkin_ws in another path and I erased everything under catkin_ws folder. The next step was to follow the instructions of the tutorial:
source /opt/ros/indigo/setup.bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd ~/catkin_ws/ catkin_make source devel/setup.bash Finally, I edited the .bashrc as mentioned previously, copied back the src folder, but nothing changed.
Output of env | grep -i ros :
ROS_ROOT=/opt/ros/indigo/share/ros ROS_PACKAGE_PATH=/home/thanos/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks ROS_MASTER_URI=http://localhost:11311 LD_LIBRARY_PATH=/home/thanos/catkin_ws/devel/lib:/home/thanos/catkin_ws/devel/lib/x86_64-linux-gnu:/opt/ros/indigo/lib/x86_64-linux-gnu:/opt/ros/indigo/lib CPATH=/home/thanos/catkin_ws/devel/include:/opt/ros/indigo/include PATH=/home/thanos/catkin_ws/devel/bin:/opt/ros/indigo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games ROSLISP_PACKAGE_DIRECTORIES=/home/thanos/catkin_ws/devel/share/common-lisp ROS_DISTRO=indigo PYTHONPATH=/home/thanos/catkin_ws/devel/lib/python2.7/dist-packages:/opt/ros/indigo/lib/python2.7/dist-packages PKG_CONFIG_PATH=/home/thanos/catkin_ws/devel/lib/pkgconfig:/home/thanos/catkin_ws/devel/lib/x86_64-linux-gnu/pkgconfig:/opt/ros/indigo/lib/x86_64-linux-gnu/pkgconfig:/opt/ros/indigo/lib/pkgconfig CMAKE_PREFIX_PATH=/home/thanos/catkin_ws/devel:/opt/ros/indigo ROS_ETC_DIR=/opt/ros/indigo/etc/ros Edit 4:
I removed both lines from the .bashrc and I opened a new 'clean' terminal I followed again the instructions from the tutorial mentioned above in order to initialize the workspace. With an empty src folder (without the packages) I ran the catkin_make command and the output is the following:
Source space: /home/thanos/catkin_ws/src Build space: /home/thanos/catkin_ws/build Devel space: /home/thanos/catkin_ws/devel Install space: /home/thanos/catkin_ws/install #### #### Running command: "cmake /home/thanos/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/thanos/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/thanos/catkin_ws/install -G Unix Makefiles" in "/home/thanos/catkin_ws/build" #### -- The C compiler identification is GNU 4.8.4 -- The CXX compiler identification is GNU 4.8.4 -- 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 -- 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 -- Using CATKIN_DEVEL_PREFIX: /home/thanos/catkin_ws/devel -- Using CMAKE_PREFIX_PATH: /opt/ros/indigo -- This workspace overlays: /opt/ros/indigo -- Found PythonInterp: /usr/bin/python (found version "2.7.6") -- Using PYTHON_EXECUTABLE: /usr/bin/python -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/thanos/catkin_ws/build/test_results -- 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 -- Found gtest sources under '/usr/src/gtest': gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.6.14 -- BUILD_SHARED_LIBS is on -- Configuring done -- Generating done -- Build files have been written to: /home/thanos/catkin_ws/build #### #### Running command: "make -j8 -l8" in "/home/thanos/catkin_ws/build" #### The next step is to run the source devel/setup.bash command of the tutorial and the last command
echo $ROS_PACKAGE_PATH /home/thanos/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks So I am at this point right now.
Originally posted by thandom on ROS Answers with karma: 3 on 2015-09-05
Post score: 0
Original comments
Comment by Boris on 2015-09-05:
Slightly reformatted your question, to make it readable.
Comment by gvdhoorn on 2015-09-06:\
How to use the edit link/button?
To update your question with more information, don't post anwers, but edit your question. There is an edit link (or button) right beneath where your question is displayed. Please use that for future updates.
Comment by gvdhoorn on 2015-09-07:
Just a note: console output is easier to read if you format it as preformatted text. Use the button with 101010 on it: select the text, then click the button (or ctrl+k).
Comment by thandom on 2015-09-07:
The problem seems to be on separate packages. I followed the procedure mentioned in the answer and some packages are compiled properly and some others don't. Thank you for your precious help! I will try to fix the problem in the packages.