From e1931ebae455535e4466750ba9d5f4c2e0a7d31a Mon Sep 17 00:00:00 2001 From: Nuno Marques Date: Thu, 16 May 2024 17:19:48 +0100 Subject: [PATCH 1/6] noetic: install pymavlink --- docker/Dockerfile_ros-noetic | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile_ros-noetic b/docker/Dockerfile_ros-noetic index 44988b8..a8d3fcd 100644 --- a/docker/Dockerfile_ros-noetic +++ b/docker/Dockerfile_ros-noetic @@ -42,6 +42,7 @@ RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/* RUN pip3 install -U \ + pymavlink \ osrf-pycommon # bootstrap rosdep From cfa927f59bc3530a7ed84214c0dc000d59850899 Mon Sep 17 00:00:00 2001 From: Nuno Marques Date: Thu, 16 May 2024 17:29:41 +0100 Subject: [PATCH 2/6] archlinux: create and use a virtual environment for Python packages --- docker/Dockerfile_base-archlinux | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile_base-archlinux b/docker/Dockerfile_base-archlinux index f252e5c..cf0312f 100644 --- a/docker/Dockerfile_base-archlinux +++ b/docker/Dockerfile_base-archlinux @@ -29,9 +29,16 @@ RUN pacman -Sy --noconfirm \ wget \ zip -# Python 3 dependencies installed by pip -RUN pip3 install argparse argcomplete coverage cerberus empy==3.3.4 jinja2 kconfiglib \ - matplotlib==3.0.* numpy packaging pkgconfig pyros-genmsg pyulog \ +# Create a virtual environment for Python packages +RUN python3 -m venv /opt/venv +ENV PATH="/opt/venv/bin:$PATH" + +# Install wheel and setuptools in the virtual environment +RUN pip3 install wheel setuptools + +# Python 3 dependencies installed by pip inside the virtual environment +RUN pip3 install argparse argcomplete coverage cerberus empy==3.3.4 jinja2 \ + kconfiglib matplotlib numpy packaging pkgconfig pyros-genmsg pyulog \ pyyaml requests serial six toml psutil pyulog wheel jsonschema # Install genromfs From 6a73e32e48e282232c842e5671dcf8c88e2a9c99 Mon Sep 17 00:00:00 2001 From: Nuno Marques Date: Thu, 16 May 2024 18:29:04 +0100 Subject: [PATCH 3/6] simulation-bionic: build ignition-edifice from source --- docker/Dockerfile_simulation-bionic | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile_simulation-bionic b/docker/Dockerfile_simulation-bionic index 36e7e8e..50c8aba 100644 --- a/docker/Dockerfile_simulation-bionic +++ b/docker/Dockerfile_simulation-bionic @@ -1,8 +1,8 @@ # -# PX4 Gazebo 9 development environment in Ubuntu 18.04 Bionic +# PX4 Gazebo (classic) 9 / Igntion Edifice development environment in Ubuntu 18.04 Bionic # -FROM px4io/px4-dev-base-bionic:2021-09-08 +FROM px4io/px4-dev-base-bionic:2024-04-04 LABEL maintainer="Daniel Agar " RUN wget --quiet http://packages.osrfoundation.org/gazebo.key -O - | apt-key add - \ @@ -23,11 +23,32 @@ RUN wget --quiet http://packages.osrfoundation.org/gazebo.key -O - | apt-key add libopencv-dev \ libxml2-utils \ protobuf-compiler \ - ignition-edifice \ && apt-get -y autoremove \ && apt-get clean autoclean \ && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/* +# Clone, build and install Ignition Edifice and libraries +RUN for repo in \ + ign-cmake:ignition-cmake2_2.6.1 \ + ign-common:ignition-common3_3.11.1 \ + ign-math:ignition-math6_6.7.0 \ + ign-tools:ignition-tools1_1.2.0 \ + ign-transport:ignition-transport9_9.3.0 \ + ign-fuel-tools:ignition-fuel-tools6_6.5.0 \ + ign-gui:ignition-gui4_4.7.0 \ + ign-rendering:ignition-rendering4_4.8.0 \ + ign-physics:ignition-physics4_4.5.0 \ + ign-sensors:ignition-sensors4_4.5.0 \ + ign-gazebo:ignition-gazebo4_4.8.0; \ + do \ + cd /root; \ + repo_name=$(echo $repo | cut -d: -f1); \ + repo_branch=$(echo $repo | cut -d: -f2); \ + git clone https://github.com/ignitionrobotics/$repo_name.git -b $repo_branch /root/$repo_name \ + && cd /root/$repo_name && mkdir build && cd build && cmake .. && make && make install \ + && rm -rf /root/$repo_name; \ + done + # Some QT-Apps/Gazebo don't not show controls without this ENV QT_X11_NO_MITSHM 1 From 0cd619731cf33693d91e82e6ca14d677dfdc0b21 Mon Sep 17 00:00:00 2001 From: Nuno Marques Date: Thu, 16 May 2024 18:39:55 +0100 Subject: [PATCH 4/6] remove FastRTPS/DDS and dependency builds, as they are not required anymore --- docker/Dockerfile_aarch64 | 25 ------------------------ docker/Dockerfile_armhf | 1 - docker/Dockerfile_base-archlinux | 33 -------------------------------- docker/Dockerfile_base-bionic | 25 ------------------------ docker/Dockerfile_base-focal | 33 -------------------------------- docker/Dockerfile_base-jammy | 1 - docker/Dockerfile_ros2-eloquent | 17 ---------------- docker/Dockerfile_ros2-galactic | 9 --------- docker/Dockerfile_ros2-rolling | 9 --------- 9 files changed, 153 deletions(-) diff --git a/docker/Dockerfile_aarch64 b/docker/Dockerfile_aarch64 index 52a84aa..c1e9786 100644 --- a/docker/Dockerfile_aarch64 +++ b/docker/Dockerfile_aarch64 @@ -73,35 +73,10 @@ RUN wget -q https://downloads.sourceforge.net/project/astyle/astyle/astyle%203.1 && make -f ../build/gcc/Makefile -j$(nproc) && cp bin/astyle /usr/local/bin \ && rm -rf /tmp/* -# Gradle (Required to build Fast-RTPS-Gen) -RUN wget -q "https://services.gradle.org/distributions/gradle-5.6.2-bin.zip" -O /tmp/gradle-5.6.2-bin.zip \ - && mkdir /opt/gradle \ - && cd /tmp \ - && unzip -d /opt/gradle gradle-5.6.2-bin.zip \ - && rm -rf /tmp/* - -ENV PATH "/opt/gradle/gradle-5.6.2/bin:$PATH" - -# Fast-RTPS -RUN git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v1.8.2 /tmp/FastRTPS-1.8.2 \ - && cd /tmp/FastRTPS-1.8.2 \ - && mkdir build && cd build \ - && cmake -DTHIRDPARTY=ON -DSECURITY=ON .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - -# Fast-RTPS-Gen 1.0.4 -RUN git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git -b v1.0.4 /tmp/Fast-RTPS-Gen-1.0.4 \ - && cd /tmp/Fast-RTPS-Gen-1.0.4 \ - && gradle assemble \ - && gradle install \ - && rm -rf /tmp/* - # create user with id 1001 (jenkins docker workflow default) RUN useradd --shell /bin/bash -u 1001 -c "" -m user && usermod -a -G dialout user ENV CCACHE_UMASK=000 -ENV FASTRTPSGEN_DIR="/usr/local/bin/" ENV PATH="/usr/lib/ccache:$PATH" ENV TERM=xterm ENV TZ=UTC diff --git a/docker/Dockerfile_armhf b/docker/Dockerfile_armhf index 90630e0..8deb00e 100644 --- a/docker/Dockerfile_armhf +++ b/docker/Dockerfile_armhf @@ -79,7 +79,6 @@ RUN wget -q https://downloads.sourceforge.net/project/astyle/astyle/astyle%203.1 RUN useradd --shell /bin/bash -u 1001 -c "" -m user && usermod -a -G dialout user ENV CCACHE_UMASK=000 -ENV FASTRTPSGEN_DIR="/usr/local/bin/" ENV PATH="/usr/lib/ccache:$PATH" ENV TERM=xterm ENV TZ=UTC diff --git a/docker/Dockerfile_base-archlinux b/docker/Dockerfile_base-archlinux index cf0312f..4a1eaea 100644 --- a/docker/Dockerfile_base-archlinux +++ b/docker/Dockerfile_base-archlinux @@ -51,38 +51,6 @@ RUN wget https://sourceforge.net/projects/romfs/files/genromfs/0.5.2/genromfs-0. RUN curl -sSL https://github.com/tianon/gosu/releases/download/1.8/gosu-amd64 > /usr/sbin/gosu \ && chmod +x /usr/sbin/gosu -# Gradle (Required to build Fast-RTPS-Gen) -RUN wget -q "https://services.gradle.org/distributions/gradle-6.1-rc-3-bin.zip" -O /tmp/gradle-6.1-rc-3-bin.zip \ - && mkdir /opt/gradle \ - && cd /tmp \ - && unzip -d /opt/gradle gradle-6.1-rc-3-bin.zip \ - && rm -rf /tmp/* - -ENV PATH "/opt/gradle/gradle-6.1-rc-3/bin:$PATH" - -# Intall foonathan_memory from source as it is required to Fast-RTPS >= 1.9 -RUN git clone https://github.com/eProsima/foonathan_memory_vendor.git /tmp/foonathan_memory \ - && cd /tmp/foonathan_memory \ - && mkdir build && cd build \ - && cmake .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - -# Fast-DDS 2.0.0 -RUN git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v2.0.0 /tmp/FastRTPS-2.0.0 \ - && cd /tmp/FastRTPS-2.0.0 \ - && mkdir build && cd build \ - && cmake -DTHIRDPARTY=ON -DSECURITY=ON .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - -# Fast-RTPS-Gen 1.0.4 -RUN git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git -b v1.0.4 /tmp/Fast-RTPS-Gen-1.0.4 \ - && cd /tmp/Fast-RTPS-Gen-1.0.4 \ - && gradle assemble \ - && gradle install \ - && rm -rf /tmp/* - # Add group dialout RUN groupadd dialout @@ -91,7 +59,6 @@ RUN ln -s /usr/bin/ccache /usr/lib/ccache/bin/arm-none-eabi-gcc \ && ln -s /usr/bin/ccache /usr/lib/ccache/bin/arm-none-eabi-g++ ENV CCACHE_MAXSIZE=1G -ENV FASTRTPSGEN_DIR="/usr/local/bin/" ENV PATH "/usr/lib/ccache/bin:$PATH" ENV TERM=xterm diff --git a/docker/Dockerfile_base-bionic b/docker/Dockerfile_base-bionic index 719f8c5..044d2d3 100644 --- a/docker/Dockerfile_base-bionic +++ b/docker/Dockerfile_base-bionic @@ -76,30 +76,6 @@ RUN wget -q https://downloads.sourceforge.net/project/astyle/astyle/astyle%203.1 && make -f ../build/gcc/Makefile -j$(nproc) && cp bin/astyle /usr/local/bin \ && rm -rf /tmp/* -# Gradle (Required to build Fast-RTPS-Gen) -RUN wget -q "https://services.gradle.org/distributions/gradle-6.3-rc-4-bin.zip" -O /tmp/gradle-6.3-rc-4-bin.zip \ - && mkdir /opt/gradle \ - && cd /tmp \ - && unzip -d /opt/gradle gradle-6.3-rc-4-bin.zip \ - && rm -rf /tmp/* - -ENV PATH "/opt/gradle/gradle-6.3-rc-4/bin:$PATH" - -# Fast-RTPS 1.8.4 -RUN git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v1.8.4 /tmp/FastRTPS-1.8.4 \ - && cd /tmp/FastRTPS-1.8.4 \ - && mkdir build && cd build \ - && cmake -DTHIRDPARTY=ON -DSECURITY=ON .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - -# Fast-RTPS-Gen 1.0.4 -RUN git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git -b v1.0.4 /tmp/Fast-RTPS-Gen-1.0.4 \ - && cd /tmp/Fast-RTPS-Gen-1.0.4 \ - && gradle assemble \ - && gradle install \ - && rm -rf /tmp/* - # create user with id 1001 (jenkins docker workflow default) RUN useradd --shell /bin/bash -u 1001 -c "" -m user && usermod -a -G dialout user @@ -110,7 +86,6 @@ RUN mkdir /tmp/.X11-unix && \ ENV DISPLAY :99 ENV CCACHE_UMASK=000 -ENV FASTRTPSGEN_DIR="/usr/local/bin/" ENV PATH="/usr/lib/ccache:$PATH" ENV TERM=xterm ENV TZ=UTC diff --git a/docker/Dockerfile_base-focal b/docker/Dockerfile_base-focal index c8f8dc3..d3c60d9 100644 --- a/docker/Dockerfile_base-focal +++ b/docker/Dockerfile_base-focal @@ -76,38 +76,6 @@ RUN wget -q https://downloads.sourceforge.net/project/astyle/astyle/astyle%203.1 && make -f ../build/gcc/Makefile -j$(nproc) && cp bin/astyle /usr/local/bin \ && rm -rf /tmp/* -# Gradle (Required to build Fast-RTPS-Gen) -RUN wget -q "https://services.gradle.org/distributions/gradle-6.3-rc-4-bin.zip" -O /tmp/gradle-6.3-rc-4-bin.zip \ - && mkdir /opt/gradle \ - && cd /tmp \ - && unzip -d /opt/gradle gradle-6.3-rc-4-bin.zip \ - && rm -rf /tmp/* - -ENV PATH "/opt/gradle/gradle-6.3-rc-4/bin:$PATH" - -# Intall foonathan_memory from source as it is required to Fast-RTPS >= 1.9 -RUN git clone https://github.com/eProsima/foonathan_memory_vendor.git /tmp/foonathan_memory \ - && cd /tmp/foonathan_memory \ - && mkdir build && cd build \ - && cmake .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - -# Fast-DDS (Fast-RTPS 2.0.2) -RUN git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v2.0.2 /tmp/FastDDS-2.0.2 \ - && cd /tmp/FastDDS-2.0.2 \ - && mkdir build && cd build \ - && cmake -DTHIRDPARTY=ON -DSECURITY=ON .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - -# Fast-RTPS-Gen 1.0.4 -RUN git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git -b v1.0.4 /tmp/Fast-RTPS-Gen-1.0.4 \ - && cd /tmp/Fast-RTPS-Gen-1.0.4 \ - && gradle assemble \ - && gradle install \ - && rm -rf /tmp/* - # create user with id 1001 (jenkins docker workflow default) RUN useradd --shell /bin/bash -u 1001 -c "" -m user && usermod -a -G dialout user @@ -118,7 +86,6 @@ RUN mkdir /tmp/.X11-unix && \ ENV DISPLAY :99 ENV CCACHE_UMASK=000 -ENV FASTRTPSGEN_DIR="/usr/local/bin/" ENV PATH="/usr/lib/ccache:$PATH" ENV TERM=xterm ENV TZ=UTC diff --git a/docker/Dockerfile_base-jammy b/docker/Dockerfile_base-jammy index 4fe411c..cb4bda4 100644 --- a/docker/Dockerfile_base-jammy +++ b/docker/Dockerfile_base-jammy @@ -106,7 +106,6 @@ RUN mkdir /tmp/.X11-unix && \ ENV DISPLAY :99 ENV CCACHE_UMASK=000 -ENV FASTRTPSGEN_DIR="/usr/local/bin/" ENV PATH="/usr/lib/ccache:$PATH" ENV TERM=xterm ENV TZ=UTC diff --git a/docker/Dockerfile_ros2-eloquent b/docker/Dockerfile_ros2-eloquent index 946b5bc..dda11b9 100644 --- a/docker/Dockerfile_ros2-eloquent +++ b/docker/Dockerfile_ros2-eloquent @@ -58,20 +58,3 @@ RUN colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mix && colcon mixin update \ && colcon metadata add default https://raw.githubusercontent.com/colcon/colcon-metadata-repository/master/index.yaml \ && colcon metadata update - -# Intall foonathan_memory from source as it is required to Fast-RTPS >= 1.9 -RUN git clone https://github.com/eProsima/foonathan_memory_vendor.git /tmp/foonathan_memory \ - && cd /tmp/foonathan_memory \ - && mkdir build && cd build \ - && cmake .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - -# Install Fast-RTPS 1.9.3 -RUN rm -rf /usr/local/include/fastrtps /usr/local/share/fastrtps /usr/local/lib/libfastrtps* \ - && git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v1.9.3 /tmp/FastRTPS-1.9.3 \ - && cd /tmp/FastRTPS-1.9.3 \ - && mkdir build && cd build \ - && cmake -DTHIRDPARTY=ON -DSECURITY=ON .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* diff --git a/docker/Dockerfile_ros2-galactic b/docker/Dockerfile_ros2-galactic index b344888..8a38710 100644 --- a/docker/Dockerfile_ros2-galactic +++ b/docker/Dockerfile_ros2-galactic @@ -62,15 +62,6 @@ RUN colcon mixin add default \ https://raw.githubusercontent.com/colcon/colcon-metadata-repository/master/index.yaml \ && colcon metadata update -# Install Fast-DDS 2.3.1 -RUN rm -rf /usr/local/include/fastrtps /usr/local/share/fastrtps /usr/local/lib/libfastrtps* \ - && git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v2.3.1 /tmp/FastRTPS-2.3.1 \ - && cd /tmp/FastRTPS-2.3.1 \ - && mkdir build && cd build \ - && cmake -DTHIRDPARTY=ON -DSECURITY=ON .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - # create and start as LOCAL_USER_ID COPY scripts/entrypoint.sh /usr/local/bin/entrypoint.sh ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] diff --git a/docker/Dockerfile_ros2-rolling b/docker/Dockerfile_ros2-rolling index 5e6f770..a42a75a 100644 --- a/docker/Dockerfile_ros2-rolling +++ b/docker/Dockerfile_ros2-rolling @@ -67,15 +67,6 @@ RUN colcon mixin add default \ https://raw.githubusercontent.com/colcon/colcon-metadata-repository/master/index.yaml \ && colcon metadata update -# Install Fast-DDS 2.3.1 -RUN rm -rf /usr/local/include/fastrtps /usr/local/share/fastrtps /usr/local/lib/libfastrtps* \ - && git clone --recursive https://github.com/eProsima/Fast-DDS.git -b v2.3.1 /tmp/FastRTPS-2.3.1 \ - && cd /tmp/FastRTPS-2.3.1 \ - && mkdir build && cd build \ - && cmake -DTHIRDPARTY=ON -DSECURITY=ON .. \ - && cmake --build . --target install -- -j $(nproc) \ - && rm -rf /tmp/* - # create and start as LOCAL_USER_ID COPY scripts/entrypoint.sh /usr/local/bin/entrypoint.sh ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] From d9d7d512143065e40442a898c173ef440ebdb856 Mon Sep 17 00:00:00 2001 From: Nuno Marques Date: Thu, 16 May 2024 20:37:50 +0100 Subject: [PATCH 5/6] update bases to a later container date --- docker/Dockerfile_clang | 2 +- docker/Dockerfile_nuttx-bionic | 2 +- docker/Dockerfile_nuttx-focal | 2 +- docker/Dockerfile_nuttx_clang | 2 +- docker/Dockerfile_raspi | 2 +- docker/Dockerfile_ros-noetic | 2 +- docker/Dockerfile_ros2-foxy | 2 +- docker/Dockerfile_ros2-galactic | 2 +- docker/Dockerfile_ros2-rolling | 2 +- docker/Dockerfile_simulation-bionic | 55 +++++++++++++++++++++++------ docker/Dockerfile_simulation-focal | 2 +- 11 files changed, 54 insertions(+), 21 deletions(-) diff --git a/docker/Dockerfile_clang b/docker/Dockerfile_clang index b54cb9e..47a8fdf 100644 --- a/docker/Dockerfile_clang +++ b/docker/Dockerfile_clang @@ -3,7 +3,7 @@ # px4-dev-base + latest clang # -FROM px4io/px4-dev-base-bionic:2021-09-08 +FROM px4io/px4-dev-base-bionic:2024-04-04 LABEL maintainer="Daniel Agar " RUN wget --quiet http://apt.llvm.org/llvm-snapshot.gpg.key -O - | apt-key add - \ diff --git a/docker/Dockerfile_nuttx-bionic b/docker/Dockerfile_nuttx-bionic index 1f547de..ab77972 100644 --- a/docker/Dockerfile_nuttx-bionic +++ b/docker/Dockerfile_nuttx-bionic @@ -2,7 +2,7 @@ # PX4 NuttX development environment in Ubuntu 18.04 Bionic # -FROM px4io/px4-dev-base-bionic:2021-09-08 +FROM px4io/px4-dev-base-bionic:2024-04-04 LABEL maintainer="Daniel Agar " RUN apt-get update \ diff --git a/docker/Dockerfile_nuttx-focal b/docker/Dockerfile_nuttx-focal index f5292f5..a3d2ad6 100644 --- a/docker/Dockerfile_nuttx-focal +++ b/docker/Dockerfile_nuttx-focal @@ -2,7 +2,7 @@ # PX4 NuttX development environment in Ubuntu 20.04 Focal # -FROM px4io/px4-dev-base-focal:2021-09-08 +FROM px4io/px4-dev-base-focal:2024-04-04 LABEL maintainer="Daniel Agar " RUN apt-get update \ diff --git a/docker/Dockerfile_nuttx_clang b/docker/Dockerfile_nuttx_clang index e82bdfc..844059c 100644 --- a/docker/Dockerfile_nuttx_clang +++ b/docker/Dockerfile_nuttx_clang @@ -2,7 +2,7 @@ # PX4 Clang + NuttX development environment # -FROM px4io/px4-dev-clang:2021-09-08 +FROM px4io/px4-dev-clang:2024-04-04 RUN dpkg --add-architecture i386 \ && apt-get update \ diff --git a/docker/Dockerfile_raspi b/docker/Dockerfile_raspi index 922f5d9..31d89ad 100644 --- a/docker/Dockerfile_raspi +++ b/docker/Dockerfile_raspi @@ -5,7 +5,7 @@ # Raspberry Pi or Parrot Bebop # -FROM px4io/px4-dev-base-bionic:2021-09-08 +FROM px4io/px4-dev-base-bionic:2024-04-04 LABEL maintainer="Michael Schaeuble" RUN apt-get update \ diff --git a/docker/Dockerfile_ros-noetic b/docker/Dockerfile_ros-noetic index a8d3fcd..b9b8ff4 100644 --- a/docker/Dockerfile_ros-noetic +++ b/docker/Dockerfile_ros-noetic @@ -2,7 +2,7 @@ # PX4 ROS development environment # -FROM px4io/px4-dev-simulation-focal:2021-09-08 +FROM px4io/px4-dev-simulation-focal:2024-04-04 LABEL maintainer="Nuno Marques " ENV ROS_DISTRO noetic diff --git a/docker/Dockerfile_ros2-foxy b/docker/Dockerfile_ros2-foxy index 6486a9e..4127ef8 100644 --- a/docker/Dockerfile_ros2-foxy +++ b/docker/Dockerfile_ros2-foxy @@ -3,7 +3,7 @@ # Based from container under https://github.com/osrf/docker_images/tree/master/ros2/source/devel # -FROM px4io/px4-dev-ros-noetic:2021-09-08 +FROM px4io/px4-dev-ros-noetic:2024-04-04 LABEL maintainer="Nuno Marques " # setup environment diff --git a/docker/Dockerfile_ros2-galactic b/docker/Dockerfile_ros2-galactic index 8a38710..62e5d2b 100644 --- a/docker/Dockerfile_ros2-galactic +++ b/docker/Dockerfile_ros2-galactic @@ -3,7 +3,7 @@ # Based from container under https://github.com/osrf/docker_images/tree/master/ros2/source/devel # -FROM px4io/px4-dev-base-focal:2021-09-08 +FROM px4io/px4-dev-base-focal:2024-04-04 LABEL maintainer="Nuno Marques " # setup environment diff --git a/docker/Dockerfile_ros2-rolling b/docker/Dockerfile_ros2-rolling index a42a75a..4cad194 100644 --- a/docker/Dockerfile_ros2-rolling +++ b/docker/Dockerfile_ros2-rolling @@ -8,7 +8,7 @@ # stable distribution." - in https://docs.ros.org/en/foxy/Releases/Release-Rolling-Ridley.html # -FROM px4io/px4-dev-base-focal:2021-09-08 +FROM px4io/px4-dev-base-focal:2024-04-04 LABEL maintainer="Nuno Marques " # setup environment diff --git a/docker/Dockerfile_simulation-bionic b/docker/Dockerfile_simulation-bionic index 50c8aba..6b9e33c 100644 --- a/docker/Dockerfile_simulation-bionic +++ b/docker/Dockerfile_simulation-bionic @@ -27,19 +27,52 @@ RUN wget --quiet http://packages.osrfoundation.org/gazebo.key -O - | apt-key add && apt-get clean autoclean \ && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/* +# Install dependencies for building Ignition Edifice from source +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install \ + build-essential \ + libbz2-dev \ + libcurl4-openssl-dev \ + libdw-dev \ + libfreeimage-dev \ + libgflags-dev \ + libglew-dev \ + libglm-dev \ + libgts-dev \ + libjansson-dev \ + libprotobuf-dev \ + libogre-1.9-dev \ + libogre-2.1-dev \ + libsqlite3-dev \ + libswscale-dev \ + libtinyxml2-dev \ + libwebsockets-dev \ + python3 \ + libignition-gui5-dev \ + qtbase5-dev \ + qtdeclarative5-dev \ + qtquickcontrols2-5-dev \ + ruby-ronn \ + uuid-dev \ + && apt-get -y autoremove \ + && apt-get clean autoclean \ + && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/* + # Clone, build and install Ignition Edifice and libraries RUN for repo in \ - ign-cmake:ignition-cmake2_2.6.1 \ - ign-common:ignition-common3_3.11.1 \ - ign-math:ignition-math6_6.7.0 \ - ign-tools:ignition-tools1_1.2.0 \ - ign-transport:ignition-transport9_9.3.0 \ - ign-fuel-tools:ignition-fuel-tools6_6.5.0 \ - ign-gui:ignition-gui4_4.7.0 \ - ign-rendering:ignition-rendering4_4.8.0 \ - ign-physics:ignition-physics4_4.5.0 \ - ign-sensors:ignition-sensors4_4.5.0 \ - ign-gazebo:ignition-gazebo4_4.8.0; \ + ign-cmake:ignition-cmake2_2.7.0 \ + ign-common:ignition-common4_4.0.0 \ + ign-math:ignition-math6_6.8.0 \ + ign-msgs:ignition-msgs7_7.0.0 \ + ign-plugin:ignition-plugin_1.2.0 \ + ign-launch:ignition-launch4_4.0.0 \ + ign-transport:ignition-transport10_10.0.0 \ + ign-fuel-tools:ignition-fuel-tools6_6.0.0 \ + ign-gui:ignition-gui5_5.0.0 \ + ign-rendering:ignition-rendering5_5.0.0 \ + ign-physics:ignition-physics4_4.0.0 \ + ign-sensors:ignition-sensors5_5.0.0 \ + ign-gazebo:ignition-gazebo5_5.0.0 \ + ign-tools:ignition-tools_1.1.0; \ do \ cd /root; \ repo_name=$(echo $repo | cut -d: -f1); \ diff --git a/docker/Dockerfile_simulation-focal b/docker/Dockerfile_simulation-focal index 2bcbb2c..48a63b1 100644 --- a/docker/Dockerfile_simulation-focal +++ b/docker/Dockerfile_simulation-focal @@ -2,7 +2,7 @@ # PX4 Gazebo 11 development environment in Ubuntu 20.04 Focal # -FROM px4io/px4-dev-base-focal:2021-09-08 +FROM px4io/px4-dev-base-focal:2024-04-04 LABEL maintainer="Nuno Marques " RUN wget --quiet http://packages.osrfoundation.org/gazebo.key -O - | apt-key add - \ From a09e4fba2ee434ac6e10419d58b81e181430795d Mon Sep 17 00:00:00 2001 From: Nuno Marques Date: Thu, 16 May 2024 23:01:42 +0100 Subject: [PATCH 6/6] simulation-focal: install Ignition Fortress --- docker/Dockerfile_simulation-focal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile_simulation-focal b/docker/Dockerfile_simulation-focal index 48a63b1..6e20809 100644 --- a/docker/Dockerfile_simulation-focal +++ b/docker/Dockerfile_simulation-focal @@ -5,8 +5,8 @@ FROM px4io/px4-dev-base-focal:2024-04-04 LABEL maintainer="Nuno Marques " -RUN wget --quiet http://packages.osrfoundation.org/gazebo.key -O - | apt-key add - \ - && sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -sc` main" > /etc/apt/sources.list.d/gazebo-stable.list' \ +RUN wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get -y --quiet --no-install-recommends install \ ant \ @@ -27,7 +27,7 @@ RUN wget --quiet http://packages.osrfoundation.org/gazebo.key -O - | apt-key add mesa-utils \ protobuf-compiler \ x-window-system \ - ignition-edifice \ + ignition-fortress \ && apt-get -y autoremove \ && apt-get clean autoclean \ && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*