robotology / whole-body-estimators

YARP devices that implement estimators for humanoid robots.
26 stars 12 forks source link

[workflows] CI macOS build failing in CMake configuration step #60

Closed prashanthr05 closed 4 years ago

prashanthr05 commented 4 years ago

The configuration step is failing with the following error. (See https://github.com/robotology/whole-body-estimators/runs/557385561?check_suite_focus=true)

2020-04-03T08:28:12.3307690Z -- Found YARP: /Users/runner/runners/2.168.0/work/whole-body-estimators/whole-body-estimators/install/deps/lib/cmake/YARP (found version "3.3.2")
2020-04-03T08:28:12.3420550Z -- Using iCub from install
2020-04-03T08:28:12.3838150Z -- Found YARP: /Users/runner/runners/2.168.0/work/whole-body-estimators/whole-body-estimators/install/deps/lib/cmake/YARP (found version "3.3.2")
2020-04-03T08:28:12.3839920Z CMake Error at install/deps/lib/ICUB/icub-config.cmake:38 (include):
2020-04-03T08:28:12.3840140Z   include could not find load file:
2020-04-03T08:28:12.3840200Z 
2020-04-03T08:28:12.3840780Z     /Users/runner/runners/2.165.2/work/whole-body-estimators/whole-body-estimators/install/deps/lib/ICUB/icub-export-install.cmake
2020-04-03T08:28:12.3840950Z Call Stack (most recent call first):
2020-04-03T08:28:12.3841080Z   /usr/local/Cellar/cmake/3.17.0_1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
2020-04-03T08:28:12.3841220Z   install/deps/lib/cmake/iDynTree/iDynTreeConfig.cmake:23 (find_dependency)
2020-04-03T08:28:12.3841870Z   devices/baseEstimatorV1/CMakeLists.txt:7 (find_package)
2020-04-03T08:28:12.3841930Z 
2020-04-03T08:28:12.3842000Z 
2020-04-03T08:28:12.3842470Z CMake Error at install/deps/lib/ICUB/icub-config.cmake:39 (include):
2020-04-03T08:28:12.3842630Z   include could not find load file:
2020-04-03T08:28:12.3842710Z 
2020-04-03T08:28:12.3843250Z     /Users/runner/runners/2.165.2/work/whole-body-estimators/whole-body-estimators/install/deps/lib/ICUB/icub-export-inst-includes.cmake
2020-04-03T08:28:12.3843370Z Call Stack (most recent call first):
2020-04-03T08:28:12.3843510Z   /usr/local/Cellar/cmake/3.17.0_1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
2020-04-03T08:28:12.3843640Z   install/deps/lib/cmake/iDynTree/iDynTreeConfig.cmake:23 (find_dependency)
2020-04-03T08:28:12.3843770Z   devices/baseEstimatorV1/CMakeLists.txt:7 (find_package)
2020-04-03T08:28:12.3843860Z 
2020-04-03T08:28:12.3843900Z 
2020-04-03T08:28:12.4023810Z --  [x] plugin baseEstimatorV1 (ENABLE_baseEstimatorV1)
2020-04-03T08:28:12.5097390Z -- Found YARP: /Users/runner/runners/2.168.0/work/whole-body-estimators/whole-body-estimators/install/deps/lib/cmake/YARP (found version "3.3.2")
2020-04-03T08:28:12.5101440Z -- Using iCub from install
2020-04-03T08:28:12.5510300Z -- Found YARP: /Users/runner/runners/2.168.0/work/whole-body-estimators/whole-body-estimators/install/deps/lib/cmake/YARP (found version "3.3.2")
2020-04-03T08:28:12.5512340Z CMake Error at install/deps/lib/ICUB/icub-config.cmake:38 (include):
2020-04-03T08:28:12.5512590Z   include could not find load file:
2020-04-03T08:28:12.5512680Z 
2020-04-03T08:28:12.5513190Z     /Users/runner/runners/2.165.2/work/whole-body-estimators/whole-body-estimators/install/deps/lib/ICUB/icub-export-install.cmake
2020-04-03T08:28:12.5513350Z Call Stack (most recent call first):
2020-04-03T08:28:12.5513470Z   devices/wholeBodyDynamics/CMakeLists.txt:7 (find_package)
2020-04-03T08:28:12.5513560Z 
2020-04-03T08:28:12.5513620Z 
2020-04-03T08:28:12.5514100Z CMake Error at install/deps/lib/ICUB/icub-config.cmake:39 (include):
2020-04-03T08:28:12.5514240Z   include could not find load file:
2020-04-03T08:28:12.5514290Z 
2020-04-03T08:28:12.5514800Z     /Users/runner/runners/2.165.2/work/whole-body-estimators/whole-body-estimators/install/deps/lib/ICUB/icub-export-inst-includes.cmake
2020-04-03T08:28:12.5514960Z Call Stack (most recent call first):
2020-04-03T08:28:12.5515090Z   devices/wholeBodyDynamics/CMakeLists.txt:7 (find_package)
traversaro commented 4 years ago

This is a problem of icub-main that creates CMake configuration files that are technically speaking non-relocatable, i.e. it cannot be used in a location different from the one in it was originally installed (see https://cmake.org/cmake/help/v3.3/manual/cmake-packages.7.html#creating-relocatable-packages). I suggest to open an issue on icub-main on this. In the meanwhile a possible strategy is to add the runner version (i.e. the 2.168.0) in the cache name, so when the runner directory changes the cache is automatically re-generated.

traversaro commented 4 years ago

An easy workaround is provided in https://github.com/robotology/idyntree/pull/667 , basically you need to add ${{ runner.temp }} to the cache id, so that it gets automatically invalidated when the path name changes. However, this is not the best solution because it invalidates the cache more then necessary, the best long term solution is to solve https://github.com/robotology/icub-main/issues/651 .

prashanthr05 commented 4 years ago

A temporary fix was done in #62. I will close this issue, for now, we can reopen it when necessary.