how to fix ROS build failure RPi Raspbian

asked 2019-12-14 20:50:04 -0600

sidtupper gravatar image

updated 2019-12-15 07:56:13 -0600

gvdhoorn gravatar image

I would really appreciate advice on how to get past the folowing build failure, and/or suggestions on alternate approaches. Thanks!

Building ROS according to the directions at http://wiki.ros.org/kinetic/Installat..., the following command failed

$ ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

After I got the error, I tried to provide the missing config.cmake files by installing shiboken2 and pyside2 at the suggestion of the build output, with these commands:

$ sudo apt-get install shiboken2
$ sudo apt-get install libpyside2-5.11
$ sudo apt-get install libpyside2-py3-5.11

After this I still couldn't find the missing config.cmake files using

$ sudo find / -name Shiboken2Config.cmake

etc., so I couldn't add their paths to CMAKE_PREFIX_PATH which in any case doesn't exist yet.

BUILD ENVIRONMENT:

pi@raspberrypi:~ $ cat /proc/cpuinfo
processors  : 0..3
model name  : ARMv7 Processor rev 3 (v7l)
BogoMIPS    : 108.00
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd08
CPU revision    : 3

Hardware    : BCM2835
Revision    : c03111
Serial      : 10000000b4c6389c
Model       : Raspberry Pi 4 Model B Rev 1.1
Ram     : 4GB

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux

pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian

pi@raspberrypi:~/ros_catkin_ws $ gcc --version
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0

pi@raspberrypi:~ $ cat /proc/version
Linux version 4.19.75-v7l+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1270 SMP Tue Sep 24 18:51:41 BST 2019

STDOUT FROM THE LAST SUCCESSFUL PACKAGE BUILD

<== Finished processing package [64 of 186]: 'pluginlib'

==> Processing catkin package: 'qt_gui_cpp'
==> Creating build directory: 'build_isolated/qt_gui_cpp'
==> Building with env: '/home/pi/ros_catkin_ws/install_isolated/env.sh'
==> cmake /home/pi/ros_catkin_ws/src/qt_gui_core/qt_gui_cpp -DCATKIN_DEVEL_PREFIX=/home/pi/ros_catkin_ws/devel_isolated/qt_gui_cpp -DCMAKE_INSTALL_PREFIX=/home/pi/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -G Unix Makefiles in '/home/pi/ros_catkin_ws/build_isolated/qt_gui_cpp'
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- 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
-- Detecting C compile features
-- Detecting C compile features - 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
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/pi/ros_catkin_ws/devel_isolated/qt_gui_cpp
-- Using CMAKE_PREFIX_PATH: /home/pi/ros_catkin_ws/install_isolated
-- This workspace overlays: /home/pi/ros_catkin_ws/install_isolated
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.16", minimum required is "2") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR ...
(more)
edit retag flag offensive close merge delete

Comments

Did you successfully install the dependencies as described in step 2.1.2? Or what error did you get?

rosdep install --from-paths src --ignore-src --rosdistro kinetic -y
jschleicher@Pilz gravatar imagejschleicher@Pilz ( 2019-12-16 06:00:18 -0600 )edit

Thanks for responding. Yes, I did that step, without error. I notice in your comment the parameter kinetic in the rosdep install command. In my failed build attempt I had changed that to melodic. So just now I reran the catkin_make_isolated aimed at kinetic instead, but it failed building the qt_gui_cpp package as before, with a different dependency:

[ 84%] Built target qt_gui_cpp [ 89%] Running SIP generator for qt_gui_cpp_sip Python bindings... Traceback (most recent call last): File "/home/pi/ros_catkin_ws/install_isolated/share/python_qt_binding/cmake/sip_configure.py", line 85, in <module> sip_dir, sip_flags = get_sip_dir_flags(config) File "/home/pi/ros_catkin_ws/install_isolated/share/python_qt_binding/cmake/sip_configure.py", line 65, in get_sip_dir_flags raise FileNotFoundError('The sip directory for PyQt5 could not be located. Please ensure' +

sidtupper gravatar imagesidtupper ( 2019-12-16 13:46:11 -0600 )edit

Just now I changed the rosdep install parameter back to melodic and reran the build command, getting the same error result as with kinetic. The difference of this result with respect to the original failure 2 days ago might be due to my attempting in the meantime to resolve those dependencies by installing shiboken2, libpyside2-5.11 and libpyside2-py3-5.11 as hinted in the stdout.

sidtupper gravatar imagesidtupper ( 2019-12-16 14:01:09 -0600 )edit