elephantrobotics / mycobot_ros

A ros package for myCobot.
BSD 3-Clause "New" or "Revised" License
166 stars 83 forks source link

Unable to build ROS image #70

Open scoobie opened 2 years ago

scoobie commented 2 years ago

When i am doing docker-compose build ros i am getting the following error message on step 11/16:

Step 1/16 : ARG BASE_IMAGE
Step 2/16 : FROM ${BASE_IMAGE}
---> c6ad7e71ba7d
Step 3/16 : COPY --from=osrf/ros:melodic-desktop-full / /
---> Using cache
---> 1a0500a93b87
Step 4/16 : ENV BASH_ENV="/root/launch.sh"
---> Using cache
---> f8a8ed25a24d
Step 5/16 : SHELL ["/bin/bash", "-c"]
---> Using cache
---> 99bc49d29475
Step 6/16 : ENTRYPOINT ["/bin/bash", "-c"]
---> Using cache
---> 7e0b677cf5b2
Step 7/16 : ARG ROS_DISTRO
---> Using cache
---> 559228ff279d
Step 8/16 : RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> $BASH_ENV
---> Using cache
---> 18a0b80c7a53
Step 9/16 : WORKDIR /catkin_ws/src
---> Using cache
---> 5c7f805855f6
Step 10/16 : COPY . mycobot_ros
---> Using cache
---> 3a41492f654f
Step 11/16 : RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - &&     apt-get 
update &&     apt-get install -y         python-rosinstall         python-rosinstall-generator         python-wstool         build- 
essential         python3-pip &&     rosdep install -r -y -i --from-paths . &&     rm -rf /var/lib/apt/lists/*
---> Running in 765b6ad5e34d
 /bin/bash: curl: command not found
Warning: apt-key output should not be parsed (stdout is not a terminal)
gpg: no valid OpenPGP data found.
The command '/bin/bash -c curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - &&     
apt-get update &&     apt-get install -y         python-rosinstall         python-rosinstall-generator         python-wstool         
build-essential         python3-pip &&     rosdep install -r -y -i --from-paths . &&     rm -rf /var/lib/apt/lists/*' returned a non- 
zero code: 2
ERROR: Service 'ros' failed to build : Build failed

By adding the installation of curl inside the Docker file i get rid of this message, but i am getting a final message on step 17/18 with Catkin make:

Step 16/18 : WORKDIR /catkin_ws
---> Running in ffa18663e400
Removing intermediate container ffa18663e400
---> 95436b4f1ddd
Step 17/18 : RUN catkin_make
---> Running in dc3cf21bde76
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/melodic
-- This workspace overlays: /opt/ros/melodic
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.17", minimum required is "2")
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.17")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.29
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 15 packages in topological order:
-- ~~  - mycobot_description
-- ~~  - mycobot_320_moveit
-- ~~  - mycobot_600
-- ~~  - mycobot_communication
-- ~~  - mycobot_320
-- ~~  - mycobot_280
-- ~~  - mycobot_280arduino
-- ~~  - mycobot_280jn
-- ~~  - mypalletizer_communication
-- ~~  - mycobot_280_moveit
-- ~~  - mycobot_280arduino_moveit
-- ~~  - mycobot_280jn_moveit
-- ~~  - mypalletizer_260_moveit
-- ~~  - mycobot_ai
-- ~~  - mypalletizer_260
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'mycobot_description'
-- ==> add_subdirectory(mycobot_ros/mycobot_description)
-- +++ processing catkin package: 'mycobot_320_moveit'
-- ==> add_subdirectory(mycobot_ros/mycobot_320/mycobot_320_moveit)
-- +++ processing catkin package: 'mycobot_600'
-- ==> add_subdirectory(mycobot_ros/mycobot_pro_600/mycobot_600)
-- +++ processing catkin package: 'mycobot_communication'
-- ==> add_subdirectory(mycobot_ros/mycobot_communication)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- mycobot_communication: 6 messages, 6 services
-- +++ processing catkin package: 'mycobot_320'
-- ==> add_subdirectory(mycobot_ros/mycobot_320/mycobot_320)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Could NOT find mycobot_320 (missing: mycobot_320_DIR)
-- Could not find the required component 'mycobot_320'. The following CMake error indicates that you either need to install 
the package with the same name or change your environment so that it can be found.

 CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
 Could not find a package configuration file provided by "mycobot_320" with
 any of the following names:
mycobot_320Config.cmake
mycobot_320-config.cmake
Add the installation prefix of "mycobot_320" to CMAKE_PREFIX_PATH or set
"mycobot_320_DIR" to a directory containing one of the above files.  If
"mycobot_320" provides a separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
mycobot_ros/mycobot_320/mycobot_320/CMakeLists.txt:6 (find_package)

-- Configuring incomplete, errors occurred!
See also "/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
Base path: /catkin_ws
Source space: /catkin_ws/src
Build space: /catkin_ws/build
Devel space: /catkin_ws/devel
Install space: /catkin_ws/install
Creating symlink "/catkin_ws/src/CMakeLists.txt" pointing to "/opt/ros/melodic/share/catkin/cmake/toplevel.cmake"
####
#### Running command: "cmake /catkin_ws/src -DCATKIN_DEVEL_PREFIX=/catkin_ws/devel - 
DCMAKE_INSTALL_PREFIX=/catkin_ws/install -G Unix Makefiles" in "/catkin_ws/build"
####
The command '/bin/bash -c catkin_make' returned a non-zero code: 1
ERROR: Service 'ros' failed to build : Build failed

I have tested on a Ubuntu server 20.04, Ubuntu 20.04 on a Windows and Mac Virtual Machine and the error message is the same. Did i missed any configuration step?