dusty-nv / jetson-containers

Machine Learning Containers for NVIDIA Jetson and JetPack-L4T
MIT License
1.94k stars 423 forks source link

Cannot Configure ROS2 Galactic from Docker Build Script #117

Open LukaTri opened 2 years ago

LukaTri commented 2 years ago

I was following the instructions to download ROS2 Galactic with using the flags --with-pytorch and --with-slam, however I run into an error after (I assume) it tries to build the slam container.

Successfully tagged ros:galactic-pytorch-l4t-r32.6.1

Building container ros:galactic-slam-l4t-r32.6.1
BASE_IMAGE=ros:galactic-pytorch-l4t-r32.6.1

Building ros:galactic-slam-l4t-r32.6.1 container... 

and this is the error I get at the very end:

-- Configuring incomplete, errors occurred!
See also "/tmp/pangolin/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/pangolin/build/CMakeFiles/CMakeError.log".
The command '/bin/bash -c git clone https://github.com/stevenlovegrove/Pangolin /tmp/pangolin &&     cd /tmp/pangolin &&     mkdir build &&     cd build &&     cmake ../ &&     make -j$(nproc) &&     make install' returned a non-zero code: 1

It seems that errors occur after it tries to clone this repository. Not really sure how to go about fixing this, as I am not very experienced with Docker.

LukaTri commented 2 years ago

Update: I added this new code to the Dockerfile.ros.slam code before Pangolin was being cloned:

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    pkg-config \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get clean

and I added libxkbcommon-dev package right after libsuitesparse-dev \. This code block is located at line 49 on the Dockerfile currently on the main branch.

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
            ffmpeg \
            libglew-dev \
          libboost-all-dev \
          libboost-system-dev \
          libcanberra-gtk-module \
            libsuitesparse-dev \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get clean

I did not run into the same error anymore (yay!), however I did run into a different issue:

[ 43%] Generating xdg-shell-client-protocol.h
Could not open input file: No such file or directory
CMakeFiles/pango_windowing.dir/build.make:81: recipe for target 'xdg-shell-client-protocol.h' failed
make[2]: *** [xdg-shell-client-protocol.h] Error 1
make[1]: *** [CMakeFiles/pango_windowing.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:812: recipe for target 'CMakeFiles/pango_windowing.dir/all' failed
[ 44%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/pango.cpp.o
[ 44%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/pango_video_output.cpp.o
[ 45%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/debayer.cpp.o
[ 46%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/shift.cpp.o
[ 46%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/transform.cpp.o
[ 47%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/unpack.cpp.o
[ 48%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/pack.cpp.o
[ 48%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/join.cpp.o
[ 49%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/merge.cpp.o
[ 49%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/json.cpp.o
[ 50%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/thread.cpp.o
[ 51%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/shared_memory.cpp.o
[ 51%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/v4l.cpp.o
[ 52%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/ffmpeg.cpp.o
[ 52%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/ffmpeg_convert.cpp.o
[ 53%] Building CXX object CMakeFiles/pango_video.dir/components/pango_video/src/drivers/ffmpeg_output.cpp.o
[ 54%] Linking CXX shared library libpango_video.so
[ 54%] Built target pango_video
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2

It seems as if there is still an issue when it comes to cloning Pangolin. Not sure how to move forward.