我正在一个新的conda环境中安装一个名为SuperDCA的生物信息学工具。但是,我在cmake步骤中收到一个错误。它表明:
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /mnt/d/conda/superdca/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /mnt/d/conda/superdca/bin/CC - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to "Release" since none was specified by user.
SUPERDCA_DEPENDENCIES setup: check for Boost
CMake Error at /mnt/d/conda/superdca/lib/cmake/Boost-1.80.0/BoostConfig.cmake:141 (find_package):
Found package configuration file:
/mnt/d/conda/superdca/lib/cmake/boost_program_options-1.80.0/boost_program_options-config.cmake
but it set boost_program_options_FOUND to FALSE so package
"boost_program_options" is considered to be NOT FOUND. Reason given by
package:
No suitable build variant has been found.
The following variants have been tried and rejected:
* libboost_program_options.so.1.80.0 (shared, Boost_USE_STATIC_LIBS=ON)
Call Stack (most recent call first):
/mnt/d/conda/superdca/lib/cmake/Boost-1.80.0/BoostConfig.cmake:262 (boost_find_component)
/mnt/d/conda/superdca/share/cmake-3.24/Modules/FindBoost.cmake:594 (find_package)
externals/boost.cmake:25 (find_package)
externals/CMakeLists.txt:14 (include)
-- Configuring incomplete, errors occurred!
See also "/mnt/d/download/SuperDCA/SuperDCA/build/CMakeFiles/CMakeOutput.log".
因为它显示it set boost_program_options_FOUND to FALSE
,我应该将它设置为TRUE吗?
软件包版本包括:
# Name Version Build Channel
boost-cpp 1.80.0 h75c5d50_0 conda-forge
cmake 3.24.1 h5432695_0 conda-forge
1条答案
按热度按时间iezvtpos1#
线索就在这里:
假设您的Conda环境只有
$CONDA_PREFIX/lib
中的Boost共享库,而没有静态库。由于某种原因,您尝试构建的软件将Boost_USE_STATIC_LIBS
设置为需要静态链接。不知道为什么会这样,有两种可能的解决方案:1.找到设置
Boost_USE_STATIC_LIBS
的位置,然后将其删除。1.找到一个包含静态库的Boost包。这在Linux上可能很少见,因为大多数时候都使用共享库。