ubuntu22.04编译ROS Motion Planning
1、conan Cmake Error
A:
pip install conan==1.59.0
2、Q:编译时gazebo 报错
A:选择新的nvida driver

3、C++ 版本兼容报错
/usr/include/log4cxx/boost-std-configuration.h:10:18: error: ‘shared_mutex’ in namespace ‘std’ does not name a type
10 | typedef std::shared_mutex shared_mutex;
| ^~~~~~~~~~~~
/usr/include/log4cxx/boost-std-configuration.h:10:13: note: ‘std::shared_mutex’ is only available from C++17 onwards
10 | typedef std::shared_mutex shared_mutex;
A:
path: src/plugins/map_plugins/voronoi_layer/CMakeLists.txt
content:
cmake_minimum_required(VERSION 3.0.2)
project(voronoi_layer)
add_compile_options(-std=c++14)set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
4、No liborocos-kdl.so
Q:make[2]: *** No rule to make target '/usr/local/lib/liborocos-kdl.so.1.5.1', needed by '/home/xg/projects/ros_motion_planning/devel/lib/libdwa_controller.so'. Stop.
A:
git clone https://github.com/orocos/orocos_kinematics_dynamics.git
cd orocos_kinematics_dynamics/orocos_kdl
mkdir build
cd build
cmake ..
make
sudo make install
sudo ln -s /usr/local/lib/liborocos-kdl.so.1.5.2 /usr/local/lib/liborocos-kdl.so.1.5.1
5、No libSDL-1.2.so.0
Q:/opt/ros/noetic/lib/map_server/map_server: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory
A:
sudo apt install libsdl1.2-dev
6、No libSDL_image-1.2.so.0
Q:/opt/ros/noetic/lib/map_server/map_server: error while loading shared libraries: libSDL_image-1.2.so.0: cannot open shared object file: No such file or director
A:
sudo apt install libsdl-image1.2
sudo ldconfig
之后查看相关依赖:
ldd /opt/ros/noetic/lib/map_server/map_server
linux-vdso.so.1 (0x00007ffd4e383000)
libmap_server_image_loader.so => /opt/ros/noetic/lib/libmap_server_image_loader.so (0x0000793175e99000)
libyaml-cpp.so.0.7 => /lib/x86_64-linux-gnu/libyaml-cpp.so.0.7 (0x0000793175e35000)
libroscpp.so => /opt/ros/noetic/lib/libroscpp.so (0x0000793175800000)
libboost_filesystem.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_filesystem.so.1.74.0 (0x0000793175e15000)
librosconsole.so => /opt/ros/noetic/lib/librosconsole.so (0x0000793175d62000)
libroscpp_serialization.so => /opt/ros/noetic/lib/libroscpp_serialization.so (0x0000793175d5c000)
librostime.so => /opt/ros/noetic/lib/librostime.so (0x0000793175d1e000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x0000793175400000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x0000793175cfe000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000793175000000)
libSDL-1.2.so.0 => /lib/x86_64-linux-gnu/libSDL-1.2.so.0 (0x0000793175764000)
libSDL_image-1.2.so.0 => /lib/x86_64-linux-gnu/libSDL_image-1.2.so.0 (0x0000793175cdc000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000079317567d000)
libxmlrpcpp.so => /opt/ros/noetic/lib/libxmlrpcpp.so (0x00007931753ac000)
libcpp_common.so => /opt/ros/noetic/lib/libcpp_common.so (0x0000793175cb9000)
libboost_thread.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_thread.so.1.74.0 (0x000079317565b000)
libboost_chrono.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_chrono.so.1.74.0 (0x0000793175650000)
librosconsole_log4cxx.so => /opt/ros/noetic/lib/librosconsole_log4cxx.so (0x0000793175371000)
librosconsole_backend_interface.so => /opt/ros/noetic/lib/librosconsole_backend_interface.so (0x0000793175cb2000)
liblog4cxx.so.12 => /lib/x86_64-linux-gnu/liblog4cxx.so.12 (0x0000793174ea1000)
libboost_regex.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_regex.so.1.74.0 (0x000079317527e000)
/lib64/ld-linux-x86-64.so.2 (0x0000793175f22000)
libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2 (0x0000793174d9e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x000079317564b000)
libpulse-simple.so.0 => /lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x0000793175644000)
libpulse.so.0 => /lib/x86_64-linux-gnu/libpulse.so.0 (0x0000793175229000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x0000793174c5e000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x000079317562f000)
libcaca.so.0 => /lib/x86_64-linux-gnu/libcaca.so.0 (0x0000793174b92000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x0000793174b8d000)
libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x0000793174b52000)
libjpeg.so.8 => /lib/x86_64-linux-gnu/libjpeg.so.8 (0x0000793174ad1000)
libtiff.so.5 => /lib/x86_64-linux-gnu/libtiff.so.5 (0x0000793174a49000)
libwebp.so.7 => /lib/x86_64-linux-gnu/libwebp.so.7 (0x00007931749dc000)
libconsole_bridge.so.1.0 => /lib/x86_64-linux-gnu/libconsole_bridge.so.1.0 (0x00007931749d4000)
libaprutil-1.so.0 => /lib/x86_64-linux-gnu/libaprutil-1.so.0 (0x00007931749a6000)
libapr-1.so.0 => /lib/x86_64-linux-gnu/libapr-1.so.0 (0x0000793174969000)
libicui18n.so.70 => /lib/x86_64-linux-gnu/libicui18n.so.70 (0x0000793174600000)
libicuuc.so.70 => /lib/x86_64-linux-gnu/libicuuc.so.70 (0x0000793174405000)
libpulsecommon-15.99.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so (0x0000793174380000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x0000793174332000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x000079317493d000)
libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x0000793174000000)
libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x0000793173fc4000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x0000793174300000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x0000793173fa8000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x0000793173ed9000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x0000793173eae000)
libjbig.so.0 => /lib/x86_64-linux-gnu/libjbig.so.0 (0x0000793173e9d000)
libdeflate.so.0 => /lib/x86_64-linux-gnu/libdeflate.so.0 (0x0000793173e79000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x0000793173e3f000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x0000793173e0e000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x0000793174930000)
libicudata.so.70 => /lib/x86_64-linux-gnu/libicudata.so.70 (0x0000793172000000)
libsndfile.so.1 => /lib/x86_64-linux-gnu/libsndfile.so.1 (0x0000793173d8f000)
libX11-xcb.so.1 => /lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007931742f9000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x0000793173cc8000)
libasyncns.so.0 => /lib/x86_64-linux-gnu/libasyncns.so.0 (0x0000793173cc0000)
libapparmor.so.1 => /lib/x86_64-linux-gnu/libapparmor.so.1 (0x0000793173cab000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x0000793173ca5000)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x0000793173c9d000)
libFLAC.so.8 => /lib/x86_64-linux-gnu/libFLAC.so.8 (0x0000793173c61000)
libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0 (0x0000793173c34000)
libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x0000793171f55000)
libopus.so.0 => /lib/x86_64-linux-gnu/libopus.so.0 (0x0000793171ef7000)
libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0 (0x0000793173c29000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x0000793171ed7000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x0000793171ecc000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x0000793171d8e000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x0000793171d76000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x0000793171d50000)
libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x0000793171d43000)
7 、run main.sh

Good Luck!

浙公网安备 33010602011771号