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
and for a few more packages
I can force it to proceed by adding
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