Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prerelease.sh script cannot find /tmp/ros_buildfarm scripts #901

Open
Reka-Berci-Hajnovics opened this issue Aug 13, 2021 · 2 comments
Open

Comments

@Reka-Berci-Hajnovics
Copy link

I'm working inside a docker container and I would like to release a ROS package for the first time. I'm following the instructions on http://wiki.ros.org/bloom/Tutorials/FirstTimeRelease.

At first, I would like to run a prerelease test. I've used http://prerelease.ros.org/ to create a command, which generates a ./prerelease.sh script.

When I run the ./prerelease.sh script, in section Begin section: Run Dockerfile- generating devel tasks I get an error: python3: can't open file '/tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py': [Errno 2] No such file or directory

In the prerelease_build_overlay.sh script I could find the section called Begin section: Run dockerfile -generating devel tasks. In that section there is the following commad: -v $WORKSPACE/ros_buildfarm:/tmp/ros_buildfarm:ro

The create_devel_task_generator.py script is located in the /tmp/prerelease_job/ros_buildfarm/scripts/devel folder instead of the /tmp/ros_buildfarm/scripts/devel folder.

Could you please help, how to solve this issue?

@tfoote
Copy link
Member

tfoote commented Aug 19, 2021

Please provide instructions for how to reproduce your issues including all your commands to setup your environment inside of docker as well as your arguments with which you run docker.

Note that the prerelease already runs the execution inside of generated docker which may cause some issues for you. In general we have found that docker inside docker doesn't work as well as might be hoped.

@Reka-Berci-Hajnovics
Copy link
Author

Reka-Berci-Hajnovics commented Aug 26, 2021

Thank you for your answer! I'm used to working in a docker environment, because I don't have a local installation of ROS. Although, I realized that in this case I need only ubuntu to be able to run the docker image of ros_buildfarm.
I've started the tutorial http://wiki.ros.org/bloom/Tutorials/FirstTimeRelease again from the beginning. I run into the following issues:

  1. Preparing for release - installing bloom. The link doesn't work anymore. I did install bloom with: sudo apt-get install python3-bloom
    Then I got redirected to the http://wiki.ros.org/regression_tests
    In point 5.1. I tried to install python3-ros-buildfarm, but I get the following error message: E: Unable to locate package python3-ros-buildfarm. After some googling I have used: pip3 install ros-buildfarm
    The next step says that "If you haven't installed ROS on your machine before, you'll also need to setup apt-get sources to include packages.ros.org" The first command executes fine, but the second one with the keyserver returns an error: gpg: keyserver receive failed: No name
    Then I execute the sudo apt-get update which results in the following errors:
    The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
    E: The repository 'http://packages.ros.org/ros/ubuntu focal InRelease' is not signed.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.

5.2. The creation of the prerelease command works fine

5.3. The ./prerelease.sh script fails, probably because of the previous errors.

# BEGIN SECTION: Run Dockerfile - build and install
# BEGIN SUBSECTION: build workspace in isolation and install
Invoking '_CATKIN_SETUP_DIR=/opt/ros/melodic . /opt/ros/melodic/setup.sh && PYTHONIOENCODING=utf_8 PYTHONUNBUFFERED=1 catkin_make_isolated --install --cmake-args -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1' in '/tmp/ws'
Base path: /tmp/ws
Source space: /tmp/ws/src
Build space: /tmp/ws/build_isolated
Devel space: /tmp/ws/devel_isolated
Install space: /tmp/ws/install_isolated
Additional CMake Arguments: -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~  traversing 1 packages in topological order:
~~  - mav_teleop_twist_keyboard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The packages or cmake arguments have changed, forcing cmake invocation

==> Processing catkin package: 'mav_teleop_twist_keyboard'
==> Creating build directory: 'build_isolated/mav_teleop_twist_keyboard'
==> cmake /tmp/ws/src/mav_teleop_twist_keyboard__custom-1 -DCATKIN_DEVEL_PREFIX=/tmp/ws/devel_isolated/mav_teleop_twist_keyboard -DCMAKE_INSTALL_PREFIX=/tmp/ws/install_isolated -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1 -G Unix Makefiles in '/tmp/ws/build_isolated/mav_teleop_twist_keyboard'
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/lib/ccache/cc
-- Check for working C compiler: /usr/lib/ccache/cc -- broken
CMake Error at /usr/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake:52 (message):
  The C compiler

    "/usr/lib/ccache/cc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /tmp/ws/build_isolated/mav_teleop_twist_keyboard/CMakeFiles/CMakeTmp
    
    Run Build Command:"/usr/bin/make" "cmTC_0be5d/fast"
    /usr/bin/make -f CMakeFiles/cmTC_0be5d.dir/build.make CMakeFiles/cmTC_0be5d.dir/build
    make[1]: Entering directory '/tmp/ws/build_isolated/mav_teleop_twist_keyboard/CMakeFiles/CMakeTmp'
    Building C object CMakeFiles/cmTC_0be5d.dir/testCCompiler.c.o
    /usr/lib/ccache/cc    -o CMakeFiles/cmTC_0be5d.dir/testCCompiler.c.o   -c /tmp/ws/build_isolated/mav_teleop_twist_keyboard/CMakeFiles/CMakeTmp/testCCompiler.c
    ccache: error: Failed to create directory /home/buildfarm/.ccache/tmp: Permission denied
    CMakeFiles/cmTC_0be5d.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_0be5d.dir/testCCompiler.c.o' failed
    make[1]: *** [CMakeFiles/cmTC_0be5d.dir/testCCompiler.c.o] Error 1
    make[1]: Leaving directory '/tmp/ws/build_isolated/mav_teleop_twist_keyboard/CMakeFiles/CMakeTmp'
    Makefile:126: recipe for target 'cmTC_0be5d/fast' failed
    make: *** [cmTC_0be5d/fast] Error 2
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)


-- Configuring incomplete, errors occurred!
See also "/tmp/ws/build_isolated/mav_teleop_twist_keyboard/CMakeFiles/CMakeOutput.log".
See also "/tmp/ws/build_isolated/mav_teleop_twist_keyboard/CMakeFiles/CMakeError.log".
<== Failed to process package 'mav_teleop_twist_keyboard': 
  Command '['cmake', '/tmp/ws/src/mav_teleop_twist_keyboard__custom-1', '-DCATKIN_DEVEL_PREFIX=/tmp/ws/devel_isolated/mav_teleop_twist_keyboard', '-DCMAKE_INSTALL_PREFIX=/tmp/ws/install_isolated', '-DBUILD_TESTING=0', '-DCATKIN_SKIP_TESTING=1', '-G', 'Unix Makefiles']' returned non-zero exit status 1

Reproduce this error by running:
==> cd /tmp/ws/build_isolated/mav_teleop_twist_keyboard && cmake /tmp/ws/src/mav_teleop_twist_keyboard__custom-1 -DCATKIN_DEVEL_PREFIX=/tmp/ws/devel_isolated/mav_teleop_twist_keyboard -DCMAKE_INSTALL_PREFIX=/tmp/ws/install_isolated -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1 -G 'Unix Makefiles'

Command failed, exiting.
# END SUBSECTION

Would setting up a virtual environment as suggested here help?
If I run which python: the output is /usr/bin/python and for python --version the output is Python 2.7.18

Thank you for your help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants