Теперь я хочу генерировать файлы Deb для каждого пакета, чтобы я создал файл rosde.yaml с необходимой информацией для всех моих пакетов и добавил его, чтобы Rosdep мог разрешить зависимости моих пакетов. Затем в каждом пакете я генерирую файл Deb со следующими двумя командами: < /p>
Код: Выделить всё
bloom-generate rosdebian --ros-distro noble
fakeroot debian/rules binary
< /code>
Однако пакеты, которые зависят от некоторой библиотеки некоторых из моих пакетов, не строятся, потому что Cmake библиотечного пакета не может найти библиотеку. find_library(
_lib NAMES "${_library}"
PATHS "${@PROJECT_NAME@_DIR}/../../../lib"
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
Код: Выделить всё
cd .obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_INSTALL_PREFIX=/opt/ros/jazzy -DAMENT_PREFIX_PATH=/opt/ros/jazzy -DCMAKE_PREFIX_PATH=/opt/ros/jazzy ..
Код: Выделить всё
override_dh_auto_configure:
# In case we're installing to a non-standard location, look for a setup.sh
# in the install tree and source it. It will set things like
# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH.
if [ -f "/opt/ros/jazzy/setup.sh" ]; then . "/opt/ros/jazzy/setup.sh"; fi && \
dh_auto_configure -- \
-DCMAKE_INSTALL_PREFIX="/opt/ros/jazzy" \
-DAMENT_PREFIX_PATH="/opt/ros/jazzy" \
-DCMAKE_PREFIX_PATH="/opt/ros/jazzy" \
-DCMAKE_INSTALL_LIBDIR=lib \
$(BUILD_TESTING_ARG)
< /code>
Однако я отказываюсь думать, что вся Ros echosystem не хватает чего -то подобного. Как я могу продолжить без изменения по умолчанию overide_dh_auto_configure
Код: Выделить всё
my_package_library
[*]
Код: Выделить всё
my_package_binary
Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-instal