Rdkit(版本:2013_09_1)make
给出了一些错误:
make[2]: [代码/GraphMol/SLNParse/testSLNParse]
[代码/GraphMol/SLNParse/CMakeFiles/testSLNParse.dir/all] 错误2
以前的步骤(Boost 1.54.0,EIGEN3)
--------------------------------------------------升压-------------------------------------------------- -
mkdir ~/boost
mkdir ~/boost/boost-home
cd ~/boost/
wget "source to boost"
tar zxvf boost_1_54_0.tar.bz2
cd boost_1_54_0/
./bootstrap.sh --with-python-version=2.7
./b2 --prefix=/lustre/home/ic003/amakris/boost/boost-home --enable-unicode=ucs4 link=shared install
导出 LD_LIBRARY_PATH="lustre/home/ic003/amakris/boost/boost-home/lib:${LD_LIBRARY_PATH}"
导出 LD_LIBRARY_PATH="/lustre/home/ic003/amakris/boost/boost_1_54_0/bin.v2/libs/python/build/gcc-5.4.0/release/threading-multi/:${LD_LIBRARY_PATH}"
-------------------------------------------------- -- RDKIT ------------------------------------------------------------ ---
mkdir ~/rdkit
cd ~/rdkit/
wget "source to rdkit"
tar xvf RDKit_2013_09_1.tgz
导出 RDBASE=/lustre/home/ic003/amakris/rdkit/RDKit_2013_09_1
导出 LD_LIBRARY_PATH=$RDBASE/lib:$LD_LIBRARY_PATH
导出 PYTHONPATH=$RDBASE:$PYTHONPATH
在 CMakeLists.txt 我添加了:
SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH}"/lustre/home/ic003/amakris/boost/boost-home/include")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "/lustre/home/ic003/amakris/boost/boost-home/lib")
SET(Boost_LIBRARY_DIRS "/lustre/home/ic003/amakris/boost/boost-home/lib")
为了确保使用正确的 boost 版本(而不是系统默认的 1.64)。
mkdir $RDBASE/build
cd build
cmake /lustre/home/ic003/amakris/rdkit/RDKit_2013_09_1/ > -DBOOST_ROOT=/lustre/home/ic003/amakris/boost/boost-home -DBoost_NO_SYSTEM_PATHS=ON -DBoost_USE_STATIC_LIBS=OFF -DRDK_BUILD_INCHI_SUPPORT=ON -DEIGEN3_INCLUDE_DIR=/lustre/ home/ic003/amakris/.local/include/eigen3 -DAVALONTOOLS_DIR=$RDBASE/External/AvalonTools/distrib/SourceDistribution -DRDK_BUILD_AVALON_SUPPORT=ON
cmake结果:
-- 检查系统是否为大端
-- 搜索 16 位整数
-- 寻找 sys/types.h
-- 寻找 sys/types.h - 找到
-- 寻找 stdint.h
-- 寻找 stdint.h - 找到
-- 寻找 stddef.h
-- 寻找 stddef.h - 找到
-- 检查 unsigned short 的大小
-- 检查无符号短完成的大小
-- 使用无符号短
-- 检查系统是否为大端 - 小端
-- 找到 PythonLibs: /usr/lib64/libpython2.7.so (找到版本 "2.7.5")
-- 找到 PythonInterp: /usr/bin/python (找到版本 "2.7.5")-- 增强版:1.54.0
-- 找到以下 Boost 库:
- Python
-- 寻找包含文件 pthread.h
-- 寻找包含文件 pthread.h - 找到
-- 寻找 pthread_create
-- 寻找 pthread_create - 未找到
-- 在 pthreads 中寻找 pthread_create
-- 在 pthreads 中寻找 pthread_create - 未找到
-- 在 pthread 中寻找 pthread_create
-- 在 pthread 中寻找 pthread_create - 找到
-- 找到的线程:TRUE
-- 在系统位置找不到 InChI(缺少:INCHI_LIBRARY INCHI_INCLUDE_DIR)
-- 在本地找到 InChI 软件
-- 找到 BISON:/usr/bin/bison
-- 找到 FLEX:/usr/bin/flex
-- 增强版:1.54.0
-- 找到以下 Boost 库:
-- 正则表达式
-- 配置完成
-- 生成完成
当我尝试使用 ( make -j 4
) 进行制作时,出现以下错误:
../../../lib/libSLNParse.so.1.2013.09.1:未定义对boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > > const&)'
../../../lib/libSLNParse.so.1.2013.09.1: undefined reference to
boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator, std::allocator > >, boost::regex_traits >:: 的引用constructor_init(boost::basic_regex > > const&, boost::regex_constants::_match_flags)' collect2: 错误: ld 返回 1 退出状态 make[2]: [Code/GraphMol/SLNParse/testSLNParse] 错误 1 make[1]: [代码/GraphMol/SLNParse/CMakeFiles/testSLNParse.dir/all] 错误 2
我知道如果我添加 cmake -DRDK_BUILD_SLN_SUPPORT=OFF构建成功。但我需要 SLN SUPPORT 所以我不使用它。
有谁知道出了什么问题?(我想要上述软件包的这些版本,而且我没有 sudo 权限)。
先感谢您。