Robotics StackExchange | Archived questions

Installing melodic on debian buster

Hello list!

Trying to install melodic using the recipe from http://wiki.ros.org/melodic/Installation/Source using current debian/testing/buster. I only added --os=debian:buster to the rosdep command. All three variants fail in the same way.

The catkin_make isolated for the bare bones variant ends in:

<== Finished processing package [8 of 54]: 'cmake_modules'

==> Processing catkin package: 'class_loader'
        ......

-- Found the following Boost libraries:
--   thread
--   chrono
--   system
--   date_time
--   atomic
CMake Error at /home/sietse/ros_catkin_ws/devel_isolated/class_loader/share/class_loader/cmake/class_loaderConfig.cmake:148 (message):
  Project 'class_loader' tried to find library '-lpthread'.  The library is
  neither a target nor built/installed properly.  Did you compile project
  'class_loader'? Did you find_package() it before the subdirectory
  containing its code is included?
Call Stack (most recent call first):
  /home/sietse/ros_catkin_ws/install_isolated/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
  test/CMakeLists.txt:4 (find_package)


-- Configuring incomplete, errors occurred!

It seems that is a problem with the boost library in this context. The CMakeError.log file reports the following:

Run Build Command:"/usr/bin/make" "cmTC_50014/fast"
/usr/bin/make -f CMakeFiles/cmTC_50014.dir/build.make CMakeFiles/cmTC_50014.dir/build
make[1]: Entering directory '/home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o
/usr/bin/c++     -o CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o -c /home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
Linking CXX executable cmTC_50014
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_50014.dir/link.txt --verbose=1
/usr/bin/c++       CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o  -o cmTC_50014 
/usr/bin/ld: CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o: in function `main':
CheckSymbolExists.cxx:(.text+0x1b): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_50014.dir/build.make:87: cmTC_50014] Error 1
make[1]: Leaving directory '/home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_50014/fast] Error 2

File /home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:
/* */
#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
}

The library is of course installed on this system. Please note that this worked about 2 months ago on this system, with older libraries, such as libboost.

Is there a simple solution to this problem, or is melodic not yet ready for this?

Thanks in advance, Sietse

Asked by Sietse on 2019-01-01 09:38:43 UTC

Comments

It looks like cmake is failing to find the pthread library, and this has nothing to do with boost (the boost messages indicate that it found boost correctly).

Asked by ahendrix on 2019-01-01 11:18:27 UTC

Probably related to #q311685 if not a duplicate.

Asked by gvdhoorn on 2019-01-01 15:17:37 UTC

Yes, looks like a duplicate. Only a bit weird that it did work a few months ago with an earlier version of testing.

Asked by Sietse on 2019-01-01 17:26:01 UTC

It's caused by a "recent" change to CMake.

Asked by gvdhoorn on 2019-01-02 03:55:18 UTC

I am trying to do something similar and get an error as follows

Preparing to unpack .../fontconfig_2.13.1-2+b1_arm64.deb ...
Unpacking fontconfig (2.13.1-2+b1) ...
dpkg: error processing archive /var/cache/apt/archives/fontconfig_2.13.1-2+b1_arm64.deb (--unpack):
 trying to overwrite '/usr/bin/fc-cache', which is also in package fontconfig-utils 2.12.6-r0
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

and for a few more packages

I can force it to proceed by adding

sudo dpkg -i --force-overwrite /var/cache/apt/archives/fontconfig_2.13.1-2+b1_arm64.deb

for each package that throws up this error. However I am not sure if this is the right way to proceed

Asked by prashantpd on 2019-10-14 18:00:39 UTC

@prashantpd: this would seem to be a problem with either your installation (of Debian/Ubuntu) or with the packages you're trying to install.

I don't believe it is related to ROS.

I would suggest to seek support on a more suitable forum, such as Ask Ubuntu (if this is indeed Ubuntu).

Asked by gvdhoorn on 2019-10-15 02:56:28 UTC

Did you get this working @Sietse

Asked by boxer911 on 2020-02-18 15:46:20 UTC

No, I currently use ROS only on Ubuntu, and wait until ROS for newer versions will become available on Debian.

Asked by Sietse on 2020-02-19 03:14:30 UTC

@Sietse Made the move to Ubuntu. More straight forward!

Asked by boxer911 on 2020-02-19 04:33:55 UTC

Answers