stonier / ecl_core

A set of tools and interfaces extending the capabilities of c++ to provide a lightweight, consistent interface with a focus for control programming.
Other
84 stars 70 forks source link

Failing to build when using ament `--symlink-install` #72

Closed clalancette closed 6 years ago

clalancette commented 6 years ago

Using the --symlink-install flag to ament allows you to make modifications to things like Python scripts in the source directory without a compile/install cycle. Currently trying to build ecl with:

ament build --isolated --symlink-install

Fails initially with:

+++ Installing 'ecl_eigen'
==> '. /home/ubuntu/ecl_ws/build_isolated/ecl_eigen/cmake__install.sh && /usr/bin/make install' in '/home/ubuntu/ecl_ws/build_isolated/ecl_eigen'
Install the project...
-- Install configuration: ""
-- Execute custom install script
-- Symlinking: /home/ubuntu/ecl_ws/install_isolated/ecl_eigen/include/ecl/eigen.hpp
CMake Error at ament_cmake_symlink_install/ament_cmake_symlink_install.cmake:152 (message):
  ament_cmake_symlink_install_files() can't find
  '/home/ubuntu/ecl_ws/src/ecl_core/ecl_eigen/COPYING.LESSER'
Call Stack (most recent call first):
  ament_cmake_symlink_install/ament_cmake_symlink_install.cmake:308 (ament_cmake_symlink_install_files)
  cmake_install.cmake:36 (include)

Makefile:61: recipe for target 'install' failed
make: *** [install] Error 1

(if I comment that out and continue on, further errors manifest as well)

stonier commented 6 years ago

That looks like a bug in ament...it's running off the install rule in ecl_core/ecl_eigen/licenses:

set(LICENSES COPYING.LESSER)
install(FILES ${LICENSES} DESTINATION share/licenses/eigen)

so looks like ament isn't aware that it's getting picked up from a subdirectory.

stonier commented 6 years ago

Fixed upstream, should be available next version.