@@ -102,14 +102,14 @@ RUN echo "source ${USER_WORKSPACE}/install/setup.bash" >> /home/$USERNAME/.bashr
102102FROM robot AS desktop
103103
104104ENV DEBIAN_FRONTEND=noninteractive
105- ENV GZ_VERSION=garden
105+ ENV GZ_VERSION=harmonic
106106
107- # Install Gazebo Garden : https://gazebosim.org/docs/garden /install_ubuntu
107+ # Install Gazebo Harmonic : https://gazebosim.org/docs/harmonic /install_ubuntu
108108RUN sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg \
109109 && 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" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null \
110110 && sudo apt-get -q update \
111111 && sudo apt-get -y --quiet --no-install-recommends install \
112- gz-garden \
112+ gz-${GZ_VERSION} \
113113 && sudo apt-get autoremove -y \
114114 && sudo apt-get clean -y \
115115 && sudo rm -rf /var/lib/apt/lists/*
@@ -118,10 +118,14 @@ RUN sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrin
118118RUN sudo apt-get -q update \
119119 && sudo apt-get -q -y upgrade \
120120 && sudo apt-get -q install --no-install-recommends -y \
121+ python3-pexpect \
121122 python3-wxgtk4.0 \
123+ python3-future \
122124 rapidjson-dev \
123125 xterm \
124- libgz-sim7-dev \
126+ libgz-sim?-dev \
127+ gz-transport?? \
128+ libgz-transport??-dev \
125129 rapidjson-dev \
126130 libopencv-dev \
127131 && sudo apt-get autoremove -y \
@@ -133,7 +137,10 @@ RUN sudo apt-get -q update \
133137# When deployed onto hardware, the native installation of ArduSub
134138# (on the FCU) will be used.
135139WORKDIR /home/$USERNAME
136- RUN git clone https://github.com/ArduPilot/ardupilot.git --recurse-submodules
140+ # Really should do version pinning but Sub-4.5 is waaaay behind master
141+ # (e.g. it doesn't know about "noble" yet)
142+ ARG ARDUPILOT_RELEASE=master
143+ RUN git clone -b ${ARDUPILOT_RELEASE} https://github.com/ArduPilot/ardupilot.git --recurse-submodules
137144
138145# Install ArduSub dependencies
139146WORKDIR /home/$USERNAME/ardupilot
@@ -159,11 +166,13 @@ RUN [ "/bin/bash" , "-c" , " \
159166
160167# Install ros_gz and other project dependencies
161168WORKDIR $USER_WORKSPACE
169+ # Some gz_* rosdep keys must be skipped because they are not in the rosdep yaml humble/iron
170+ # (despite the fact the packages are available). Ensure they are installed manually.
162171RUN sudo apt-get -q update \
163172 && sudo apt-get -q -y upgrade \
164173 && vcs import src < src/blue/blue.repos \
165174 && rosdep update \
166- && rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} \
175+ && rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} --skip-keys= "gz-transport13 gz-sim8 gz-math7 gz-msgs10" \
167176 && sudo apt-get autoremove -y \
168177 && sudo apt-get clean -y \
169178 && sudo rm -rf /var/lib/apt/lists/*
0 commit comments