DLu / roscompile

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ament/colcon-ify roscompile?

130s opened this issue · comments

AFAI see, roscompile is applicable to the packages of catkin package framework only? If I'm right, is there a plan? Has there been an attempt (if so what are the blockers)?

Thought of using ros2-migration-tools but ran into too many hurdles and unclarities so stopped.

Some logf from the attempt.

Well rocker is probably unnecessary (no GUI likely needed during ros2-ifying roscompile) though, I'm comfortable in using it so using here as well.

#export DOCKERIMG=ros:noetic-ros-base-focal
export DOCKERIMG=ros:melodic-ros-base
export PATH_LOCAL_WS=/home/n130s/link/ROS

rocker --dev-helpers --nvidia --x11 --network host  \
  --volume $(readlink -f /home/n130s/link/ROS/awslabs/ros2-migration-tools):/cws/src/awslabs/ros2-migration-tools \
  --volume $(readlink -f /home/n130s/link/ROS/DLu/roscompile):/cws/src/DLu/roscompile \
  --volume /dev:/dev  \
  --  \
  $DOCKERIMG bash

In Docker container

export DIR_CWS=/cws && cd $DIR_CWS
apt update && rosdep update && rosdep install --from-paths src --ignore-src -r -y
apt install python3-colcon-common-extensions python3-catkin-tools
apt install python3-pip && pip3 install parse_cmake
find / -iname libclang.so*
/usr/lib/llvm-10/lib/libclang.so.1

#colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON --packages-above-and-dependencies roscompile
echo "colcon build hits some issue so going with catkin."
catkin build roscompile --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
find . -iname compile_commands.json
./build/roscompile/compile_commands.json
./build/catkin_tools_prebuild/compile_commands.json
./build/ros_introspection/compile_commands.json

Copying the libclang.so.8 shared object

This requires almost 1GB download, and I haven't found the appropriate file to DL on Ubuntu 20.04. So for now skips (opened awslabs/ros2-migration-tools#14 to share what I had to do).

Didn't reach the following.

export ROS1_PACKAGE_PATH=/cws/src/DLu/roscompile/roscompile/package.xml
ros_upgrader.py -c ./build/roscompile/compile_commands.json

I switched the base Docker image to ros:melodic-ros-base but still seeing the same issue so I gave up awslabs/ros2-migration-tools.