RDKit Building Error

半腔热情 提交于 2019-12-11 15:14:41

问题


Rdkit (version: 2013_09_1) make gives some errors:

make[2]: [Code/GraphMol/SLNParse/testSLNParse]

[Code/GraphMol/SLNParse/CMakeFiles/testSLNParse.dir/all] Error 2

Previous Steps (Boost 1.54.0, EIGEN3)

--------------------------------------------------BOOST--------------------------------------------------

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

export LD_LIBRARY_PATH="lustre/home/ic003/amakris/boost/boost-home/lib:${LD_LIBRARY_PATH}"

export 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

export RDBASE=/lustre/home/ic003/amakris/rdkit/RDKit_2013_09_1

export LD_LIBRARY_PATH=$RDBASE/lib:$LD_LIBRARY_PATH

export PYTHONPATH=$RDBASE:$PYTHONPATH

In CMakeLists.txt i have add:

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")

in order to ensure that the correct version of boost is used (instead of 1.64 that the system has by default).

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 results:

-- Check if the system is big endian

-- Searching 16 bit integer

-- Looking for sys/types.h

-- Looking for sys/types.h - found

-- Looking for stdint.h

-- Looking for stdint.h - found

-- Looking for stddef.h

-- Looking for stddef.h - found

-- Check size of unsigned short

-- Check size of unsigned short - done

-- Using unsigned short

-- Check if the system is big endian - little endian

-- Found PythonLibs: /usr/lib64/libpython2.7.so (found version "2.7.5")
-- Found PythonInterp: /usr/bin/python (found version "2.7.5")

-- Boost version: 1.54.0

-- Found the following Boost libraries:

-- python

-- Looking for include file pthread.h

-- Looking for include file pthread.h - found

-- Looking for pthread_create

-- Looking for pthread_create - not found

-- Looking for pthread_create in pthreads

-- Looking for pthread_create in pthreads - not found

-- Looking for pthread_create in pthread

-- Looking for pthread_create in pthread - found

-- Found Threads: TRUE

-- Could NOT find InChI in system locations (missing: INCHI_LIBRARY INCHI_INCLUDE_DIR)

-- Found InChI software locally

-- Found BISON: /usr/bin/bison

-- Found FLEX: /usr/bin/flex

-- Boost version: 1.54.0

-- Found the following Boost libraries:

-- regex

-- Configuring done

-- Generating done

When i try to make with (make -j 4) i get the following error:

../../../lib/libSLNParse.so.1.2013.09.1: undefined reference to 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 toboost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator, std::allocator > >, boost::regex_traits > >::construct_init(boost::basic_regex > > const&, boost::regex_constants::_match_flags)' collect2: error: ld returned 1 exit status make[2]: [Code/GraphMol/SLNParse/testSLNParse] Error 1 make[1]: [Code/GraphMol/SLNParse/CMakeFiles/testSLNParse.dir/all] Error 2

I know that if i add in cmake -DRDK_BUILD_SLN_SUPPORT=OFF the build succeeds. But i need SLN SUPPORT so i don't use it.

Is anyone know what is going wrong? (I want these versions of the above packages and also i have not sudo privileges).

Thank you in advance.

来源:https://stackoverflow.com/questions/46605557/rdkit-building-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!