ros-infrastructure / ros_buildfarm

ROS buildfarm based on Docker
Apache License 2.0
82 stars 96 forks source link

BUG: prerelease (cmake) fails to build due to non-existence path #847

Open anqixu opened 3 years ago

anqixu commented 3 years ago

Tested on Ubuntu 20.04.1 and ROS Noetic, Docker version 20.10.2

Commands ran:

mkdir -p /tmp/prerelease_job
cd /tmp/prerelease_job
generate_prerelease_script.py https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml noetic default ubuntu focal amd64 ueye_cam --level 1 --output-dir ./
./prerelease.sh

Snippet of error log:

# BEGIN SUBSECTION: build workspace in isolation and install
Invoking '_CATKIN_SETUP_DIR=/opt/ros/noetic . /opt/ros/noetic/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:
~~  - ueye_cam
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The packages or cmake arguments have changed, forcing cmake invocation

==> Processing catkin package: 'ueye_cam'
==> Creating build directory: 'build_isolated/ueye_cam'
==> cmake /tmp/ws/src/ueye_cam -DCATKIN_DEVEL_PREFIX=/tmp/ws/devel_isolated/ueye_cam -DCMAKE_INSTALL_PREFIX=/tmp/ws/install_isolated -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1 -G Unix Makefiles in '/tmp/ws/build_isolated/ueye_cam'
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.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.16/Modules/CMakeTestCCompiler.cmake:60 (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/ueye_cam/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/make cmTC_68c2a/fast && /usr/bin/make -f CMakeFiles/cmTC_68c2a.dir/build.make CMakeFiles/cmTC_68c2a.dir/build
    make[1]: Entering directory '/tmp/ws/build_isolated/ueye_cam/CMakeFiles/CMakeTmp'
    Building C object CMakeFiles/cmTC_68c2a.dir/testCCompiler.c.o
    /usr/lib/ccache/cc    -o CMakeFiles/cmTC_68c2a.dir/testCCompiler.c.o   -c /tmp/ws/build_isolated/ueye_cam/CMakeFiles/CMakeTmp/testCCompiler.c
    ccache: error: Failed to create directory /home/buildfarm/.ccache/tmp: Permission denied
    make[1]: *** [CMakeFiles/cmTC_68c2a.dir/build.make:66: CMakeFiles/cmTC_68c2a.dir/testCCompiler.c.o] Error 1
    make[1]: Leaving directory '/tmp/ws/build_isolated/ueye_cam/CMakeFiles/CMakeTmp'
    make: *** [Makefile:121: cmTC_68c2a/fast] Error 2

Fault line highlighted: ccache: error: Failed to create directory /home/buildfarm/.ccache/tmp: Permission denied

P.S.: prerelease.ros.org step 3 spins forever, so I had to edit the HTML to un-disable the generate button in order to obtain the prerelease commands above.

ros-discourse commented 3 years ago

This issue has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/preparing-for-kinetic-sync-2021-02-05/18840/2