Ошибка «не удается скопировать файл» при сборке Colcon - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть рабочее пространство Catkin, которое я пытаюсь перенести в систему сборки Colcon. У меня были некоторые проблемы с изменением моих списков CMakeList, чтобы приспособиться к этому, и в настоящее время вижу эту ошибку при запуске colcon build.

CMake Error at ardupilot_gazebo/cmake_install.cmake:55 (file):
  file INSTALL cannot copy file
  "/home/karl/Documents/aarl_ws/build/src/devel/lib/libArduCopterIRLockPlugin.so"
  to
  "/usr/lib/x86_64-linux-gnu/gazebo-9/plugins/libArduCopterIRLockPlugin.so"

Я предполагаю, что это происходит, поскольку /usr/lib не может быть записано мой текущий пользователь, поэтому общий объектный файл не может быть скопирован. Пространство создается правильно при запуске catkin build.

Есть ли что-то, что я могу сделать, чтобы изменить расположение библиотеки в место, на которое у моего пользователя есть права на запись?

Пока я пробовал возиться с CATKIN_INSTALL_PREFIX безрезультатно, я опасаюсь запускать sudo colcon build и возиться с разрешениями каталога на /usr/lib.

Для контекста ошибка возникает при сборке плагина Ardupilot_Gazebo. Мы считаем, что это проблема со ссылкой на $GAZEBO_LIBARIES. Есть ли способ создать локальный путь к библиотеке для Gazebo?

Спасибо!

1 Ответ

0 голосов
/ 28 апреля 2020

Вам необходимо установить переменную CMAKE_INSTALL_PREFIX . CMake установит встроенное приложение по указанному пути.

...