From d77b0ddb57ff7dbd89886cda0e86b659006bb2ae Mon Sep 17 00:00:00 2001 From: Lucas Walter Date: Sun, 20 Feb 2022 08:28:44 -0800 Subject: [PATCH] use noetic rosconsole in 20.04 --- .github/workflows/ubuntu_20_04.yml | 5 +++-- Dockerfile | 10 +++++++++- git_clone.sh | 4 +++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ubuntu_20_04.yml b/.github/workflows/ubuntu_20_04.yml index 319f4e8..a5ce30f 100644 --- a/.github/workflows/ubuntu_20_04.yml +++ b/.github/workflows/ubuntu_20_04.yml @@ -24,7 +24,8 @@ jobs: - name: local git dependencies run: | cd staging - ../ros_from_src/git_clone.sh + # override rosconsole in 20.04 for log4cxx compatibility + ROSCONSOLE=https://github.com/ros/rosconsole ../ros_from_src/git_clone.sh - name: local build run: | @@ -34,7 +35,7 @@ jobs: - name: docker build 20.04 run: | cd ros_from_src - docker build --build-arg IMAGE=ubuntu:20.04 --build-arg PYTHON_MINOR_VERSION=8 . -t ros2004 + docker build --build-arg IMAGE=ubuntu:20.04 --build-arg ROSCONSOLE=https://github.com/ros/rosconsole --build-arg PYTHON_MINOR_VERSION=8 . -t ros2004 - name: docker build 22.04 run: | diff --git a/Dockerfile b/Dockerfile index 774a85f..1a5f767 100644 --- a/Dockerfile +++ b/Dockerfile @@ -167,6 +167,7 @@ RUN cmake $SRC/ros/core/rosbuild -DCATKIN_BUILD_BINARY_PACKAGE=ON -DCMAKE_INSTAL RUN make RUN make install +RUN apt-get update RUN apt-get install -y python3-dateutil RUN apt-get install -y python3-docutils RUN export PATH=$PATH:/usr/local/bin @@ -188,9 +189,15 @@ RUN git clone https://github.com/ros/genlisp RUN git clone https://github.com/ros/genpy RUN git clone https://github.com/ros/std_msgs RUN git clone https://github.com/ros/message_runtime -RUN git clone https://github.com/ros-o/rosconsole RUN git clone https://github.com/ros-o/pluginlib +# TODO(lucasw) this doesn't work in 20.04 because of log +# --build-args ROSCONSOLE=https://github.com/ros-o/rosconsole +ARG ROSCONSOLE=https://github.com/ros-o/rosconsole +# ENV ROSCONSOLE=$ROSCONSOLE +RUN echo $ROSCONSOLE +RUN git clone $ROSCONSOLE + # runtime dependencies # rosbuild WORKDIR $SRC @@ -204,6 +211,7 @@ WORKDIR $SRC/rosdistro RUN python3 setup.py install --prefix=$DEST --record install_manifest.txt --single-version-externally-managed WORKDIR $SRC +# can be sudo in docker, but otherwise want git clone https://github.com/lucasw/rosdep --branch disable_root_etc_ros RUN git clone https://github.com/ros-infrastructure/rosdep WORKDIR $SRC/rosdep RUN python3 setup.py install --prefix=$DEST --record install_manifest.txt --single-version-externally-managed diff --git a/git_clone.sh b/git_clone.sh index 1e8a9c9..257dbd1 100755 --- a/git_clone.sh +++ b/git_clone.sh @@ -29,9 +29,11 @@ git clone https://github.com/ros/genlisp git clone https://github.com/ros/genpy git clone https://github.com/ros/std_msgs git clone https://github.com/ros/message_runtime -git clone https://github.com/ros-o/rosconsole git clone https://github.com/ros-o/pluginlib +ROSCONSOLE1=${ROSCONSOLE:-https://github.com/ros-o/rosconsole} +git clone $ROSCONSOLE1 + # pure python cd $SRC git clone https://github.com/ros-infrastructure/catkin_pkg