문제 상황
ros 1 melodic 버전에서 python3 에서 사용하는 tf2를 사용하려고 할때 발생한다.
이는 catkin_make에서 발생하며 python3를 사용하는 환경에서 tf2 사용하는 부분만 따로 설치를 해주는 식으로 bulid를 해야한다.
해결 방안
python 3.8을 사용하는 경우 다음과 같은 방식으로 catkin_make를 진행한다.
sudo apt update
sudo apt install python3-catkin-pkg-modules python3-rospkg-modules python3-empy
mkdir -p ~/catkin_ws/src; cd ~/catkin_ws
catkin_make
source devel/setup.bash
wstool init
wstool set -y src/geometry2 --git https://github.com/ros/geometry2 -v 0.6.5
wstool up
rosdep install --from-paths src --ignore-src -y -r
catkin_make --cmake-args \
-DCMAKE_BUILD_TYPE=Release \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.8 \
-DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so
빌드가 완료되면 정상적으로 launch 파일 실행이 가능하다.