Build error in orocos_kdl when catkin build Kinetic from source on Debian 8.0 (Jessie)
I am installing MAVROS on a raspberry pi 3. I followed the instructions here on PX4 website, and when I was running the last step (Build Source) which is catkin build
, I encountered error saying internal compiler error: Segmentation Fault
. Here is the error code:
--------------------------------------------------------
Profile: default
Extending: [cached] /opt/ros/kinetic
Workspace: /home/pi/overlay_ws
--------------------------------------------------------
Build Space: [exists] /home/pi/overlay_ws/build
Devel Space: [exists] /home/pi/overlay_ws/devel
Install Space: [unused] /home/pi/overlay_ws/install
Log Space: [exists] /home/pi/overlay_ws/logs
Source Space: [exists] /home/pi/overlay_ws/src
DESTDIR: [unused] None
--------------------------------------------------------
Devel Space Layout: linked
Install Space Layout: None
--------------------------------------------------------
Additional CMake Args: None
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
Cache Job Environments: False
--------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
--------------------------------------------------------
Workspace configuration appears valid.
--------------------------------------------------------
[build] Found '88' packages in 0.0 seconds.
[build] Package table is up to date.
Starting >>> catkin
Finished <<< catkin [ 1.1 seconds ]
Starting >>> genmsg
Starting >>> cmake_modules
Starting >>> cpp_common
Starting >>> mavlink
Finished <<< genmsg [ 1.0 seconds ]
Starting >>> orocos_kdl
Finished <<< cmake_modules [ 0.9 seconds ]
Starting >>> ros_environment
Finished <<< cpp_common [ 1.1 seconds ]
Starting >>> rosbag_migration_rule
Finished <<< ros_environment [ 1.1 seconds ]
Finished <<< rosbag_migration_rule [ 1.0 seconds ]
______________________________________________________________________________
Errors << orocos_kdl:make /home/pi/overlay_ws/logs/orocos_kdl/build.make.000.log
during GIMPLE pass: ssa
/home/pi/overlay_ws/src/orocos_kinematics_dynamics/orocos_kdl/src/chainiksolverpos_lma.cpp: In member function ‘Eigen::internal::mapbase_evaluator<Derived, PlainObjectType>::CoeffReturnType Eigen::internal::mapbase_evaluator<Derived, PlainObjectType>::coeff(Eigen::Index, Eigen::Index) const [with Derived = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, 1, false>; PlainObjectType = Eigen::Matrix<double, -1, 1>]’:
/home/pi/overlay_ws/src/orocos_kinematics_dynamics/orocos_kdl/src/chainiksolverpos_lma.cpp:286:2: internal compiler error: Segmentation fault
};//namespace KDL
^
0x76b0811f ???
../sysdeps/unix/sysv/linux/arm/sigrestorer.S:64
0x76af2717 __libc_start_main
/build/glibc-FUvrFr/glibc-2.28/csu/libc-start.c:308
Please submit a full bug report, with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-8/README.Bugs> for instructions.
make[2]: *** [src/CMakeFiles/orocos-kdl.dir/build.make:154: src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:141: src/CMakeFiles/orocos-kdl.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
cd /home/pi/overlay_ws/build/orocos_kdl; catkin build --get-env orocos_kdl | catkin env -si /usr/bin/make --jobserver-auth=6,7; cd -
The code indicates that the orocos_kdl
failed building due to segmentation error. However, I could not figure out what happened or how to fix this bug. Can anyone has had this issue before could provide some tips?
Any help would be greatly appreciated!!!
Seeing "RPi" and the fact that you're compiling template-heavy c++ code: you could just be running out of memory. Have you enabled swap and/or tried limiting everything to a single job only?
catkin_make -j1
(equivalent tomake -j1
) would allow you to test that.