Сборка с использованием CMake в среде Conda
504
Misguided
У меня есть лабораторный компьютер с ограниченными ресурсами (который не контролируется мной), который в основном позволяет мне записывать только на внешние жесткие диски.
Мне нужно скомпилировать мой проект класса, используя boost и pcl. Моя процедура заключалась в создании среды conda внутри внешнего жесткого диска, а затем conda install -c conda-forge boost pcl
.
Это работает до получения установленных пакетов. Когда мне нужно скомпилировать, я использую следующий файл CMake toolchain:
SET(CMAKE_SYSTEM_NAME Linux) SET(CMAKE_SYSTEM_VERSION 1) SET(CMAKE_C_COMPILER /XXX/bin/clang) SET(CMAKE_CXX_COMPILER /XXX/bin/clang++) SET(CMAKE_FIND_ROOT_PATH /YYY/conda/envs/thesis-env /XXX/llvm) SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
Это выполняет работу по компиляции при запуске cmake и make. Проблема начинается, когда вы пытаетесь связать; Я получил:
/usr/bin/ld: warning: libboost_system.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libboost_filesystem.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libboost_thread.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libboost_date_time.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libboost_iostreams.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libboost_chrono.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libboost_atomic.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libboost_regex.so.1.66.0, needed by /media/libre/jbayardo/conda/envs/thesis-env/lib/libpcl_common.so, not found (try using -rpath or -rpath-link) CMakeFiles/nch.dir/main.cpp.o: En la función `boost::system::generic_category()': main.cpp:(.text._ZN5boost6system16generic_categoryEv[_ZN5boost6system16generic_categoryEv]+0x6): referencia a `boost::system::detail::generic_category_instance' sin definir
Я понимаю, что буст-зависимость pcl не решается правильно во время соединения. Могу ли я помочь CMake решить эту проблему?
Где находится `libboost_system.so.1.66.0`?
Tomasz Jakub Rup 6 лет назад
0
Также размещено здесь: https://stackoverflow.com/questions/51991978/building-using-cmake-within-conda-environment
sigvaldm 6 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
1
Создание задания на печать высокого разрешения
-
1
Почему принтеры имеют резидентные шрифты и как их использовать?
-
4
Emacs 24: загрузка пакета, установленного через ELPA
-
-
1
BOOSTROOT для cmake на Ubuntu
-
1
Использование cmake в Linux
-
1
Различия между принтерами PCL 5/6?
-
1
Компиляция Shrew на Linux
-
1
Проблемы с установкой cmake на Ubuntu 12.04
-
0
Как создать версионные функции в файле so в Fedora?
-
2
Не удалось найти файл конфигурации для пакета "ECM", который совместим с запрошенной версией 1.5.0