robotology / robotology-superbuild

CMake/YCM-based superbuild to simplify the build process of robotology projects.
49 stars 48 forks source link

conda macOS jobs are failing since 2021 #570

Closed traversaro closed 3 years ago

traversaro commented 3 years ago

failures

The error is:

 -- Looking for ignition-math6 -- found version 6.7.0
-- Looking for ignition-transport8 -- found version 8.1.0
-- Searching for dependencies of ignition-transport8
-- Found Protobuf: /usr/local/miniconda/envs/test/lib/libprotobuf.dylib (found suitable version "3.13.0", minimum required is "3") 
-- Checking for module 'uuid'
--   No package 'uuid' found
CMake Error at /usr/local/miniconda/envs/test/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:218 (message):
-- Configuring incomplete, errors occurred!
  Could NOT find UUID (missing: UUID_FOUND)
See also "/Users/runner/work/robotology-superbuild/robotology-superbuild/build/CMakeFiles/CMakeOutput.log".
Call Stack (most recent call first):
  /usr/local/miniconda/envs/test/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:582 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/miniconda/envs/test/share/cmake/ignition-cmake2/cmake2/FindUUID.cmake:58 (find_package_handle_standard_args)
  /usr/local/miniconda/envs/test/lib/cmake/ignition-transport8/ignition-transport8-config.cmake:95 (find_package)
  /usr/local/miniconda/envs/test/lib/cmake/gazebo/gazebo-config.cmake:198 (find_package)
  cmake/BuildGazeboYARPPlugins.cmake:31 (find_package)
  build/install/share/YCM/modules/FindOrBuildPackage.cmake:215 (include)
  cmake/RobotologySuperbuildLogic.cmake:12 (find_or_build_package)
  CMakeLists.txt:45 (include)

The error is similar to https://github.com/ignitionrobotics/ign-cmake/pull/128 , and indeed 4 days ago I merged the version bump to v2.6.2, but without removing the related patch: https://github.com/conda-forge/libignition-cmake0-feedstock/pull/11 , so it is possible that there is some incorrect patch being applied.

traversaro commented 3 years ago

The error is similar to ignitionrobotics/ign-cmake#128 , and indeed 4 days ago I merged the version bump to v2.6.2, but without removing the related patch: conda-forge/libignition-cmake0-feedstock#11 , so it is possible that there is some incorrect patch being applied.

By looking at the 2.6.2_0 ignition-cmake conda package and comparing it with the 2.6.1, that seems to be exactly the case, as the APPLE-specific change added in https://github.com/ignitionrobotics/ign-cmake/pull/128 are present in 2.6.1_0 but not in 2.6.2_0 . Indeed, by looking into the build logs for 2.6.2_0, there is the following messages:

Applying patch: /Users/runner/work/1/s/recipe/FindUUID.cmake.patch
Applying patch: /Users/runner/work/1/s/recipe/FindUUID.cmake.patch with args:
['-p1', '-i', '/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/tmpmswyaipj/FindUUID.cmake.patch.native', '--binary']
(Stripping trailing CRs from patch.)
patching file cmake/FindUUID.cmake
Reversed (or previously applied) patch detected!  Assuming -R.
(Stripping trailing CRs from patch.)
patching file cmake/FindUUID.cmake
Reversed (or previously applied) patch detected!  Assuming -R.

So apparently if conda-build is not able to apply a patch, it assumes that the patch should be applied in reverse, and so the APPLE-specific change that in 2.6.1 were added, as in 2.6.2 were already present, have been removed. : O

traversaro commented 3 years ago

This will be fixed by https://github.com/conda-forge/libignition-cmake0-feedstock/pull/12 .