diff --git a/dockerfiles/base.Dockerfile b/dockerfiles/base.Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..d74d32a82a0357bcb05c1a4bc822a7733970871d --- /dev/null +++ b/dockerfiles/base.Dockerfile @@ -0,0 +1,134 @@ +# *********************************************************** +# * Base Image with Azure and PEAK for Neurondones and ROS2 * +# *********************************************************** + +ARG ROS_DISTRO=humble +FROM osrf/ros:${ROS_DISTRO}-desktop-full + +ENV ROS_DISTRO="${ROS_DISTRO}" +ARG EXT_SHELL=bash +ENV EXT_SHELL="${EXT_SHELL}" +ENV SHELL="/bin/${EXT_SHELL}" +RUN echo "Building devenv for ROS" $ROS_DISTRO "with shell" $EXT_SHELL + +# Avoid warnings by switching to noninteractive +ENV DEBIAN_FRONTEND="noninteractive" + +# Setup environment +RUN apt-get update && apt-get install -y apt-utils + +# Setup locales +RUN apt-get install -y \ + locales \ + && sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen en_US.UTF-8 +ENV LANG=en_US.UTF-8 +ENV LANGUAGE=en_US:en +ENV LC_ALL=en_US.UTF-8 + +# Setup locales +RUN apt-get install -y tar gzip build-essential wget + +# Install rosdeps +#[apt] Installation commands: +RUN apt-get install -y \ + ros-humble-controller-manager \ + ros-humble-joint-state-publisher \ + ros-humble-gazebo-ros2-control \ + ros-humble-gripper-controllers \ + ros-humble-joint-trajectory-controller \ + ros-humble-joint-state-broadcaster \ + ros-humble-robotiq-description \ + ros-humble-joint-state-publisher-gui \ + ros-humble-picknik-reset-fault-controller \ + ros-humble-picknik-twist-controller \ + ros-humble-hardware-interface \ + ros-humble-backward-ros \ + ros-humble-forward-command-controller \ + ros-humble-position-controllers \ + ros-humble-realtime-tools \ + ros-humble-ros2controlcli \ + ros-humble-velocity-controllers \ + ros-humble-moveit-ros-move-group \ + ros-humble-moveit-kinematics \ + ros-humble-moveit-planners \ + ros-humble-moveit-simple-controller-manager \ + ros-humble-moveit-configs-utils \ + ros-humble-moveit-ros-visualization \ + ros-humble-moveit-setup-assistant \ + ros-humble-control-msgs \ + ros-humble-control-toolbox \ + ros-humble-launch-param-builder \ + ros-humble-moveit-common \ + ros-humble-moveit-msgs \ + ros-humble-moveit-core \ + ros-humble-moveit-ros-planning-interface \ + ros-humble-moveit-resources-panda-moveit-config \ + ros-humble-ros-testing \ + ros-humble-octomap-msgs \ + ros-humble-realsense2-camera \ + ros-humble-moveit \ + joint-state-publisher-gui +# [apt] End of installation commands + +# Copy the requirements.txt file into the container +WORKDIR /tmp/dependencies/ + +# Install Peak driver +RUN apt-get update && apt-get install -y udev libpopt-dev linux-headers-$(uname -r) gcc-12\ + && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 \ + && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 200 \ + && wget https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.18.0.tar.gz \ + && wget https://www.peak-system.com/quick/BasicLinux -O PCAN-Basic_Linux.tar.gz \ + && tar -xf peak-linux-driver-8.18.0.tar.gz \ + && cd peak-linux-driver-8.18.0; \ + make clean && make && make install \ + && cd .. \ + && tar -xf PCAN-Basic_Linux.tar.gz \ + && cd PCAN-Basic_Linux-4.9.0.7/libpcanbasic; \ + make clean && make && make install \ + && update-alternatives --set gcc /usr/bin/gcc-11 \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /var/cache/apt/archives/*.deb \ + && rm -rf *; + +# Install Azure SDK on demand + +RUN apt-get update && apt-get install -y wget curl libusb-1.0-0-dev udev libasound2 libjack-jackd2-0 libjack-0.125 libpulse0 +# Install libsoundio1 dependency +RUN wget http://archive.ubuntu.com/ubuntu/pool/universe/libs/libsoundio/libsoundio1_1.1.0-1_amd64.deb \ + && dpkg -i libsoundio1_1.1.0-1_amd64.deb +# Download and install Azure Kinect SDK packages +RUN wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/libk4a1.4/libk4a1.4_1.4.1_amd64.deb \ + && wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/libk4a1.4-dev/libk4a1.4-dev_1.4.1_amd64.deb \ + && wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/k/k4a-tools/k4a-tools_1.4.1_amd64.deb \ + && wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/libk4abt1.1/libk4abt1.1_1.1.2_amd64.deb \ + && wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/libk4abt1.1-dev/libk4abt1.1-dev_1.1.2_amd64.deb \ + # Install the packages + && echo 'libk4a1.4 libk4a1.4/accepted-eula-hash string 0f5d5c5de396e4fee4c0753a21fee0c1ed726cf0316204edda484f08cb266d76' | debconf-set-selections \ + && echo 'libk4abt1.1 libk4abt1.1/accepted-eula-hash string 03a13b63730639eeb6626d24fd45cf25131ee8e8e0df3f1b63f552269b176e38' | debconf-set-selections \ + && dpkg -i libk4a1.4_1.4.1_amd64.deb \ + && dpkg -i libk4a1.4-dev_1.4.1_amd64.deb \ + && dpkg -i libk4abt1.1_1.1.2_amd64.deb \ + && dpkg -i libk4abt1.1-dev_1.1.2_amd64.deb \ + && dpkg -i k4a-tools_1.4.1_amd64.deb \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /var/cache/apt/archives/*.deb \ + && rm -rf *; + +RUN rm -rf * + +# Update this date to re-run the image final update +LABEL image.date=09-01-2025 + +# Update final image +RUN apt-get update \ + && apt-get -y upgrade \ + && apt-get -y autoremove \ + && apt-get -y autoclean \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /var/cache/apt/archives/*.deb + +# Switch back to dialog for any ad-hoc use of apt-get +ENV DEBIAN_FRONTEND= + +CMD [ "bash" ] \ No newline at end of file diff --git a/dockerfiles/devenv.Dockerfile b/dockerfiles/devenv.Dockerfile index 7e9508b8c9467cda9759aea37c293adf22a680b7..cd5057ef960c42396c15174c39081c6ed2e1f847 100644 --- a/dockerfiles/devenv.Dockerfile +++ b/dockerfiles/devenv.Dockerfile @@ -180,6 +180,7 @@ RUN if [ "$DOCKER_IN_DOCKER" = "install" ]; \ ARG PEAK_DRIVER=none RUN if [ "$PEAK_DRIVER" = "install" ]; \ then \ +<<<<<<< HEAD apt-get update && apt-get install -y udev libpopt-dev linux-headers-$(uname -r) gcc-12\ && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 \ && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 200 \ @@ -196,6 +197,20 @@ RUN if [ "$PEAK_DRIVER" = "install" ]; \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /var/cache/apt/archives/*.deb \ && rm -rf *; \ +======= + apt-get update && apt-get install -y udev libpopt-dev linux-headers-$(uname -r) \ + && wget https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.20.0.tar.gz \ + && wget https://www.peak-system.com/produktcd/Develop/PC%20interfaces/Linux/PCAN-Basic_API_for_Linux/PCAN-Basic_Linux-4.10.0.4.tar.gz + # && wget https://www.peak-system.com/quick/BasicLinux -O PCAN-Basic_Linux.tar.gz \ + && tar -xvf peak-linux-driver-8.20.0.tar.gz \ + && cd peak-linux-driver-8.20.0 \ + && make && make install || echo 'make failed but move forward'\ + && cd .. \ + && tar -xvf PCAN-Basic_Linux-4.10.0.4.tar.gz \ + && cd PCAN-Basic_Linux-4.10.0.4/libpcanbasic \ + && make && make install || echo 'make failed but move forward';\ + rm -rf /var/lib/apt/lists/*; \ +>>>>>>> 9f234849a3bdb7d6f6cf0d3ec5de2786c9ab6815 fi # Install conan for Kortex driver