Installing melodic on debian buster

asked 2019-01-01 08:38:43 -0500

Sietse gravatar image

updated 2019-01-01 08:39:40 -0500

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

edit retag flag offensive close merge delete

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).

ahendrix gravatar image ahendrix  ( 2019-01-01 10:18:27 -0500 )edit

Probably related to #q311685 if not a duplicate.

gvdhoorn gravatar image gvdhoorn  ( 2019-01-01 14:17:37 -0500 )edit

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

Sietse gravatar image Sietse  ( 2019-01-01 16:26:01 -0500 )edit

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

gvdhoorn gravatar image gvdhoorn  ( 2019-01-02 02:55:18 -0500 )edit

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

prashantpd gravatar image prashantpd  ( 2019-10-14 18:00:39 -0500 )edit

@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).

gvdhoorn gravatar image gvdhoorn  ( 2019-10-15 02:56:28 -0500 )edit

Did you get this working @Sietse

boxer911 gravatar image boxer911  ( 2020-02-18 14:46:20 -0500 )edit

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

Sietse gravatar image Sietse  ( 2020-02-19 02:14:30 -0500 )edit

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

boxer911 gravatar image boxer911  ( 2020-02-19 03:33:55 -0500 )edit