Discussion:
[Rdkit-discuss] Installation woes: Ubuntu 16.04, Boost 1.61, and RDKit not living so peacefully together after all ...
JP
2017-06-16 11:08:30 UTC
Permalink
Hi Folks,

Must have been eons ago last time I posted to this mailing list. The
italians have a saying "chi non muore si rivede".

I am trying to install the RDKit (release 2017_03_2) from source, without
conda, and I thought this will be a breeze. But I am getting an error. I
am pretty sure this is because of the boost version I am using (1.61).

The error is:

[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
text_iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::archive_exception::archive_exception(
boost::archive::archive_exception const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target 'Code/GraphMol/ChemReactions/
CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all]
Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
My setup:
Ubuntu 16.04.2
(manually installed) boost v1.61
RDKit release - 2017.03.2

But I read somewhere that "Boost 1.61 and the RDKit work together.".
https://sourceforge.net/p/rdkit/mailman/message/35124509/ - so my question
is, is this combo expected to work or not?

As I side note, but this is just a deprecation warning, I do get a ton of
these,
/opt/boost_1_61_0/include/boost/type_traits/detail/template_arity_spec.hpp:13:84:
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is
deprecated")

I know, I know, not the most glamorous of a comeback ...

Beers and Cheers,
JP
Paul Emsley
2017-06-16 12:12:40 UTC
Permalink
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list. The italians have a saying
"chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source, without conda, and I
thought this will be a breeze. But I am getting an error. I am pretty sure this is because
of the boost version I am using (1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/build.make:116: recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most elegant way for RDKit to
tell you so.

But I don't think that that's the case. I think that you are not linking with the correct
boost libraries. Hard to say at the moment.

$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a ton of these,
#pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
I see such things also - I comment out the pragmas in the header.


Paul.
JP
2017-06-19 07:39:56 UTC
Permalink
HI Paul,

Funny you should mention that. I have boost 1.61 (installed manually in
/opt) and system boost I installed via sudo apt-get install

/opt/rdkit/rdkit-Release_2017_03_2/build$ dpkg -s libboost-dev | grep
'Version'
Version: 1.58.0.1ubuntu1

However I pass the BOOST path to cmake via:

cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/ ..

(I also have the $BOOST_ROOT env variable set, so I think that is
redundant. Whatever). cmake output clearly shows it is finding/using
boost 1.61

Using make VERBOSE=1 I get:

[ 62%] Linking CXX executable testReaction
cd /opt/rdkit/rdkit-Release_2017_03_2/build/Code/GraphMol/ChemReactions &&
/usr/bin/cmake -E cmake_link_script CMakeFiles/testReaction.dir/link.txt
--verbose=1
/usr/bin/c++ -mpopcnt -Wno-deprecated -Wno-unused-function
-fno-strict-aliasing -fPIC -Wall -Wextra -O3 -DNDEBUG
CMakeFiles/testReaction.dir/testReaction.cpp.o -o testReaction -rdynamic
../../../lib/libRDKitChemReactions.so.1.2017.03.2
../../../lib/libRDKitChemTransforms.so.1.2017.03.2
../../../lib/libRDKitDescriptors.so.1.2017.03.2
../../../lib/libRDKitFingerprints.so.1.2017.03.2
../../../lib/libRDKitDepictor.so.1.2017.03.2
../../../lib/libRDKitFileParsers.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitPartialCharges.so.1.2017.03.2
../../../lib/libRDKitMolTransforms.so.1.2017.03.2
../../../lib/libRDKitEigenSolvers.so.1.2017.03.2
../../../lib/libRDKitFilterCatalog.so.1.2017.03.2
../../../lib/libRDKitSubgraphs.so.1.2017.03.2
../../../lib/libRDKitSmilesParse.so.1.2017.03.2
../../../lib/libRDKitSubstructMatch.so.1.2017.03.2
../../../lib/libRDKitGraphMol.so.1.2017.03.2
../../../lib/libRDKitRDGeometryLib.so.1.2017.03.2
../../../lib/libRDKitDataStructs.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitCatalogs.so.1.2017.03.2
../../../lib/libRDKitRDGeneral.so.1.2017.03.2 -lboost_thread -lboost_system
-lpthread -Wl,-rpath,/opt/rdkit/rdkit-Release_2017_03_2/build/lib
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/build.make:116:
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
make[2]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all]
Error 2
make[1]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

/opt/boost_1_61_0/lib is also the first path in LD_LIBRARY_PATH.

Thanks for your help and time. I really appreciate it.

Cheers
Post by Paul Emsley
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list. The
italians have a saying "chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source, without
conda, and I thought this will be a breeze. But I am getting an error. I
am pretty sure this is because of the boost version I am using (1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_
iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
:archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/build.make:116: recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most
elegant way for RDKit to tell you so.
But I don't think that that's the case. I think that you are not linking
with the correct boost libraries. Hard to say at the moment.
$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a ton of these,
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
I see such things also - I comment out the pragmas in the header.
Paul.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Greg Landrum
2017-06-19 08:38:54 UTC
Permalink
If you have a system boost install that you do not want to use, you should
be sure to add "-D Boost_NO_SYSTEM_PATHS=ON" to the cmake arguments. This
will (well, should) disable any usage of the system boost.

-greg
Post by JP
HI Paul,
Funny you should mention that. I have boost 1.61 (installed manually in
/opt) and system boost I installed via sudo apt-get install
/opt/rdkit/rdkit-Release_2017_03_2/build$ dpkg -s libboost-dev | grep
'Version'
Version: 1.58.0.1ubuntu1
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/ ..
(I also have the $BOOST_ROOT env variable set, so I think that is
redundant. Whatever). cmake output clearly shows it is finding/using
boost 1.61
[ 62%] Linking CXX executable testReaction
cd /opt/rdkit/rdkit-Release_2017_03_2/build/Code/GraphMol/ChemReactions
&& /usr/bin/cmake -E cmake_link_script CMakeFiles/testReaction.dir/link.txt
--verbose=1
/usr/bin/c++ -mpopcnt -Wno-deprecated -Wno-unused-function
-fno-strict-aliasing -fPIC -Wall -Wextra -O3 -DNDEBUG
CMakeFiles/testReaction.dir/testReaction.cpp.o -o testReaction -rdynamic
../../../lib/libRDKitChemReactions.so.1.2017.03.2 ../../../lib/
libRDKitChemTransforms.so.1.2017.03.2 ../../../lib/
libRDKitDescriptors.so.1.2017.03.2 ../../../lib/libRDKitFingerprints.so.1.2017.03.2
../../../lib/libRDKitDepictor.so.1.2017.03.2 ../../../lib/
libRDKitFileParsers.so.1.2017.03.2 -lboost_serialization ../../../lib/
libRDKitPartialCharges.so.1.2017.03.2 ../../../lib/
libRDKitMolTransforms.so.1.2017.03.2 ../../../lib/
libRDKitEigenSolvers.so.1.2017.03.2 ../../../lib/
libRDKitFilterCatalog.so.1.2017.03.2 ../../../lib/
libRDKitSubgraphs.so.1.2017.03.2 ../../../lib/
libRDKitSmilesParse.so.1.2017.03.2 ../../../lib/
libRDKitSubstructMatch.so.1.2017.03.2 ../../../lib/libRDKitGraphMol.so.1.2017.03.2
../../../lib/libRDKitRDGeometryLib.so.1.2017.03.2 ../../../lib/
libRDKitDataStructs.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitCatalogs.so.1.2017.03.2 ../../../lib/
libRDKitRDGeneral.so.1.2017.03.2 -lboost_thread -lboost_system -lpthread
-Wl,-rpath,/opt/rdkit/rdkit-Release_2017_03_2/build/lib
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
text_iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::archive_exception::archive_exception(
boost::archive::archive_exception const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
make[2]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
CMakeFiles/Makefile2:4157: recipe for target 'Code/GraphMol/ChemReactions/
CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all] Error 2
make[1]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
/opt/boost_1_61_0/lib is also the first path in LD_LIBRARY_PATH.
Thanks for your help and time. I really appreciate it.
Cheers
Post by Paul Emsley
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list. The
italians have a saying "chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source,
without conda, and I thought this will be a breeze. But I am getting an
error. I am pretty sure this is because of the boost version I am using
(1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
:archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/build.make:116: recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most
elegant way for RDKit to tell you so.
But I don't think that that's the case. I think that you are not linking
with the correct boost libraries. Hard to say at the moment.
$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a ton of these,
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
I see such things also - I comment out the pragmas in the header.
Paul.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
JP
2017-06-19 10:03:55 UTC
Permalink
Hi Greg !

Unfortunately that didn't help (I delete everything in my build directory,
then):

cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/
-DBoost_NO_SYSTEM_PATHS=ON ..

and make as usual.

[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/build.make:116:
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all]
Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

Perhaps this isn't related to the system vs user-install, boost after all?
Post by Greg Landrum
If you have a system boost install that you do not want to use, you should
be sure to add "-D Boost_NO_SYSTEM_PATHS=ON" to the cmake arguments. This
will (well, should) disable any usage of the system boost.
-greg
Post by JP
HI Paul,
Funny you should mention that. I have boost 1.61 (installed manually in
/opt) and system boost I installed via sudo apt-get install
/opt/rdkit/rdkit-Release_2017_03_2/build$ dpkg -s libboost-dev | grep
'Version'
Version: 1.58.0.1ubuntu1
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/ ..
(I also have the $BOOST_ROOT env variable set, so I think that is
redundant. Whatever). cmake output clearly shows it is finding/using
boost 1.61
[ 62%] Linking CXX executable testReaction
cd /opt/rdkit/rdkit-Release_2017_03_2/build/Code/GraphMol/ChemReactions
&& /usr/bin/cmake -E cmake_link_script CMakeFiles/testReaction.dir/link.txt
--verbose=1
/usr/bin/c++ -mpopcnt -Wno-deprecated -Wno-unused-function
-fno-strict-aliasing -fPIC -Wall -Wextra -O3 -DNDEBUG
CMakeFiles/testReaction.dir/testReaction.cpp.o -o testReaction
-rdynamic ../../../lib/libRDKitChemReactions.so.1.2017.03.2
../../../lib/libRDKitChemTransforms.so.1.2017.03.2
../../../lib/libRDKitDescriptors.so.1.2017.03.2
../../../lib/libRDKitFingerprints.so.1.2017.03.2
../../../lib/libRDKitDepictor.so.1.2017.03.2
../../../lib/libRDKitFileParsers.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitPartialCharges.so.1.2017.03.2
../../../lib/libRDKitMolTransforms.so.1.2017.03.2
../../../lib/libRDKitEigenSolvers.so.1.2017.03.2
../../../lib/libRDKitFilterCatalog.so.1.2017.03.2
../../../lib/libRDKitSubgraphs.so.1.2017.03.2
../../../lib/libRDKitSmilesParse.so.1.2017.03.2
../../../lib/libRDKitSubstructMatch.so.1.2017.03.2
../../../lib/libRDKitGraphMol.so.1.2017.03.2
../../../lib/libRDKitRDGeometryLib.so.1.2017.03.2
../../../lib/libRDKitDataStructs.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitCatalogs.so.1.2017.03.2
../../../lib/libRDKitRDGeneral.so.1.2017.03.2 -lboost_thread
-lboost_system -lpthread -Wl,-rpath,/opt/rdkit/rdkit-Re
lease_2017_03_2/build/lib
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::text_iarchive_impl<boost::archive::text_
iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
make[2]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all] Error 2
make[1]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
/opt/boost_1_61_0/lib is also the first path in LD_LIBRARY_PATH.
Thanks for your help and time. I really appreciate it.
Cheers
Post by Paul Emsley
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list. The
italians have a saying "chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source,
without conda, and I thought this will be a breeze. But I am getting an
error. I am pretty sure this is because of the boost version I am using
(1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
:archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most
elegant way for RDKit to tell you so.
But I don't think that that's the case. I think that you are not linking
with the correct boost libraries. Hard to say at the moment.
$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a ton of these,
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header (template_arity_spec.hpp)
is deprecated")
I see such things also - I comment out the pragmas in the header.
Paul.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Greg Landrum
2017-06-21 05:29:39 UTC
Permalink
did you build boost serialize?
Post by JP
Hi Greg !
Unfortunately that didn't help (I delete everything in my build directory,
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/
-DBoost_NO_SYSTEM_PATHS=ON ..
and make as usual.
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
text_iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::archive_exception::archive_exception(
boost::archive::archive_exception const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target 'Code/GraphMol/ChemReactions/
CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Perhaps this isn't related to the system vs user-install, boost after all?
Post by Greg Landrum
If you have a system boost install that you do not want to use, you
should be sure to add "-D Boost_NO_SYSTEM_PATHS=ON" to the cmake arguments.
This will (well, should) disable any usage of the system boost.
-greg
Post by JP
HI Paul,
Funny you should mention that. I have boost 1.61 (installed manually in
/opt) and system boost I installed via sudo apt-get install
/opt/rdkit/rdkit-Release_2017_03_2/build$ dpkg -s libboost-dev | grep
'Version'
Version: 1.58.0.1ubuntu1
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/ ..
(I also have the $BOOST_ROOT env variable set, so I think that is
redundant. Whatever). cmake output clearly shows it is finding/using
boost 1.61
[ 62%] Linking CXX executable testReaction
cd /opt/rdkit/rdkit-Release_2017_03_2/build/Code/GraphMol/ChemReactions
&& /usr/bin/cmake -E cmake_link_script CMakeFiles/testReaction.dir/link.txt
--verbose=1
/usr/bin/c++ -mpopcnt -Wno-deprecated -Wno-unused-function
-fno-strict-aliasing -fPIC -Wall -Wextra -O3 -DNDEBUG
CMakeFiles/testReaction.dir/testReaction.cpp.o -o testReaction
-rdynamic ../../../lib/libRDKitChemReactions.so.1.2017.03.2
../../../lib/libRDKitChemTransforms.so.1.2017.03.2
../../../lib/libRDKitDescriptors.so.1.2017.03.2
../../../lib/libRDKitFingerprints.so.1.2017.03.2
../../../lib/libRDKitDepictor.so.1.2017.03.2
../../../lib/libRDKitFileParsers.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitPartialCharges.so.1.2017.03.2
../../../lib/libRDKitMolTransforms.so.1.2017.03.2
../../../lib/libRDKitEigenSolvers.so.1.2017.03.2
../../../lib/libRDKitFilterCatalog.so.1.2017.03.2
../../../lib/libRDKitSubgraphs.so.1.2017.03.2
../../../lib/libRDKitSmilesParse.so.1.2017.03.2
../../../lib/libRDKitSubstructMatch.so.1.2017.03.2
../../../lib/libRDKitGraphMol.so.1.2017.03.2
../../../lib/libRDKitRDGeometryLib.so.1.2017.03.2
../../../lib/libRDKitDataStructs.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitCatalogs.so.1.2017.03.2
../../../lib/libRDKitRDGeneral.so.1.2017.03.2 -lboost_thread
-lboost_system -lpthread -Wl,-rpath,/opt/rdkit/rdkit-Re
lease_2017_03_2/build/lib
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
make[2]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
make[1]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
/opt/boost_1_61_0/lib is also the first path in LD_LIBRARY_PATH.
Thanks for your help and time. I really appreciate it.
Cheers
Post by Paul Emsley
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list. The
italians have a saying "chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source,
without conda, and I thought this will be a breeze. But I am getting an
error. I am pretty sure this is because of the boost version I am using
(1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
:archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most
elegant way for RDKit to tell you so.
But I don't think that that's the case. I think that you are not
linking with the correct boost libraries. Hard to say at the moment.
$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a ton of these,
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header (template_arity_spec.hpp)
is deprecated")
I see such things also - I comment out the pragmas in the header.
Paul.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
JP
2017-06-21 08:24:05 UTC
Permalink
Looks like it is finding the correct version of boost (and it is finding
boost serialize).

/opt/rdkit/rdkit-Release_2017_03_2/build$ cmake -D
RDK_BUILD_INCHI_SUPPORT=ON -D BOOST_ROOT=/opt/boost_1_61_0/ -D
Boost_NO_SYSTEM_PATHS=ON ..
-- Could NOT find InChI in system locations (missing: INCHI_LIBRARY
INCHI_INCLUDE_DIR)
CUSTOM_INCHI_PATH = /opt/rdkit/rdkit-Release_2017_03_2/External/INCHI-API
-- Found InChI software locally
-- Boost version: 1.61.0
-- Found the following Boost libraries:
-- python
-- Boost version: 1.61.0
-- Found the following Boost libraries:
-- thread
-- system
-- chrono
-- date_time
-- atomic
-- Boost version: 1.61.0
-- Found the following Boost libraries:
-- serialization
== Using strict rotor definition
== Updating Filters.cpp from pains file
== Done updating pains files
-- Boost version: 1.61.0
-- Found the following Boost libraries:
-- regex
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/rdkit/rdkit-Release_2017_
03_2/build

But the error prevails.

If I set up rdkit to use just the system wide boost (1.58), not my specific
install (1.61), rdkit builds successfully. I do this by clearing
BOOST_ROOT, LD_LIBRARY_PATH, and removing the boost-related cmake flags.
So this is certainly an issue with wrong libraries being picked up.
Post by Greg Landrum
did you build boost serialize?
Post by JP
Hi Greg !
Unfortunately that didn't help (I delete everything in my build
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/
-DBoost_NO_SYSTEM_PATHS=ON ..
and make as usual.
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::text_iarchive_impl<boost::archive::text_
iarchive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Perhaps this isn't related to the system vs user-install, boost after all?
Post by Greg Landrum
If you have a system boost install that you do not want to use, you
should be sure to add "-D Boost_NO_SYSTEM_PATHS=ON" to the cmake arguments.
This will (well, should) disable any usage of the system boost.
-greg
Post by JP
HI Paul,
Funny you should mention that. I have boost 1.61 (installed manually
in /opt) and system boost I installed via sudo apt-get install
/opt/rdkit/rdkit-Release_2017_03_2/build$ dpkg -s libboost-dev | grep
'Version'
Version: 1.58.0.1ubuntu1
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/ ..
(I also have the $BOOST_ROOT env variable set, so I think that is
redundant. Whatever). cmake output clearly shows it is finding/using
boost 1.61
[ 62%] Linking CXX executable testReaction
cd /opt/rdkit/rdkit-Release_2017_03_2/build/Code/GraphMol/ChemReactions
&& /usr/bin/cmake -E cmake_link_script CMakeFiles/testReaction.dir/link.txt
--verbose=1
/usr/bin/c++ -mpopcnt -Wno-deprecated -Wno-unused-function
-fno-strict-aliasing -fPIC -Wall -Wextra -O3 -DNDEBUG
CMakeFiles/testReaction.dir/testReaction.cpp.o -o testReaction
-rdynamic ../../../lib/libRDKitChemReactions.so.1.2017.03.2
../../../lib/libRDKitChemTransforms.so.1.2017.03.2
../../../lib/libRDKitDescriptors.so.1.2017.03.2
../../../lib/libRDKitFingerprints.so.1.2017.03.2
../../../lib/libRDKitDepictor.so.1.2017.03.2
../../../lib/libRDKitFileParsers.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitPartialCharges.so.1.2017.03.2
../../../lib/libRDKitMolTransforms.so.1.2017.03.2
../../../lib/libRDKitEigenSolvers.so.1.2017.03.2
../../../lib/libRDKitFilterCatalog.so.1.2017.03.2
../../../lib/libRDKitSubgraphs.so.1.2017.03.2
../../../lib/libRDKitSmilesParse.so.1.2017.03.2
../../../lib/libRDKitSubstructMatch.so.1.2017.03.2
../../../lib/libRDKitGraphMol.so.1.2017.03.2
../../../lib/libRDKitRDGeometryLib.so.1.2017.03.2
../../../lib/libRDKitDataStructs.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitCatalogs.so.1.2017.03.2
../../../lib/libRDKitRDGeneral.so.1.2017.03.2 -lboost_thread
-lboost_system -lpthread -Wl,-rpath,/opt/rdkit/rdkit-Re
lease_2017_03_2/build/lib
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
make[2]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
make[1]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
/opt/boost_1_61_0/lib is also the first path in LD_LIBRARY_PATH.
Thanks for your help and time. I really appreciate it.
Cheers
Post by Paul Emsley
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list. The
italians have a saying "chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source,
without conda, and I thought this will be a breeze. But I am getting an
error. I am pretty sure this is because of the boost version I am using
(1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
:archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most
elegant way for RDKit to tell you so.
But I don't think that that's the case. I think that you are not
linking with the correct boost libraries. Hard to say at the moment.
$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a ton of these,
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header
(template_arity_spec.hpp) is deprecated")
I see such things also - I comment out the pragmas in the header.
Paul.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Greg Landrum
2017-06-21 09:02:24 UTC
Permalink
Let's move this off the list for a bit until we get it resolved.

Can you please do: "VERBOSE=1 make testReaction" and send the output just
to me?

Thanks,
-greg
Post by JP
Looks like it is finding the correct version of boost (and it is finding
boost serialize).
/opt/rdkit/rdkit-Release_2017_03_2/build$ cmake -D
RDK_BUILD_INCHI_SUPPORT=ON -D BOOST_ROOT=/opt/boost_1_61_0/ -D
Boost_NO_SYSTEM_PATHS=ON ..
-- Could NOT find InChI in system locations (missing: INCHI_LIBRARY
INCHI_INCLUDE_DIR)
CUSTOM_INCHI_PATH = /opt/rdkit/rdkit-Release_2017_03_2/External/INCHI-API
-- Found InChI software locally
-- Boost version: 1.61.0
-- python
-- Boost version: 1.61.0
-- thread
-- system
-- chrono
-- date_time
-- atomic
-- Boost version: 1.61.0
-- serialization
== Using strict rotor definition
== Updating Filters.cpp from pains file
== Done updating pains files
-- Boost version: 1.61.0
-- regex
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/rdkit/rdkit-Release_2017_
03_2/build
But the error prevails.
If I set up rdkit to use just the system wide boost (1.58), not my
specific install (1.61), rdkit builds successfully. I do this by clearing
BOOST_ROOT, LD_LIBRARY_PATH, and removing the boost-related cmake flags.
So this is certainly an issue with wrong libraries being picked up.
Post by Greg Landrum
did you build boost serialize?
Post by JP
Hi Greg !
Unfortunately that didn't help (I delete everything in my build
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/
-DBoost_NO_SYSTEM_PATHS=ON ..
and make as usual.
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Perhaps this isn't related to the system vs user-install, boost after all?
Post by Greg Landrum
If you have a system boost install that you do not want to use, you
should be sure to add "-D Boost_NO_SYSTEM_PATHS=ON" to the cmake arguments.
This will (well, should) disable any usage of the system boost.
-greg
Post by JP
HI Paul,
Funny you should mention that. I have boost 1.61 (installed manually
in /opt) and system boost I installed via sudo apt-get install
/opt/rdkit/rdkit-Release_2017_03_2/build$ dpkg -s libboost-dev | grep
'Version'
Version: 1.58.0.1ubuntu1
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/ ..
(I also have the $BOOST_ROOT env variable set, so I think that is
redundant. Whatever). cmake output clearly shows it is finding/using
boost 1.61
[ 62%] Linking CXX executable testReaction
cd /opt/rdkit/rdkit-Release_2017_03_2/build/Code/GraphMol/ChemReactions
&& /usr/bin/cmake -E cmake_link_script CMakeFiles/testReaction.dir/link.txt
--verbose=1
/usr/bin/c++ -mpopcnt -Wno-deprecated -Wno-unused-function
-fno-strict-aliasing -fPIC -Wall -Wextra -O3 -DNDEBUG
CMakeFiles/testReaction.dir/testReaction.cpp.o -o testReaction
-rdynamic ../../../lib/libRDKitChemReactions.so.1.2017.03.2
../../../lib/libRDKitChemTransforms.so.1.2017.03.2
../../../lib/libRDKitDescriptors.so.1.2017.03.2
../../../lib/libRDKitFingerprints.so.1.2017.03.2
../../../lib/libRDKitDepictor.so.1.2017.03.2
../../../lib/libRDKitFileParsers.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitPartialCharges.so.1.2017.03.2
../../../lib/libRDKitMolTransforms.so.1.2017.03.2
../../../lib/libRDKitEigenSolvers.so.1.2017.03.2
../../../lib/libRDKitFilterCatalog.so.1.2017.03.2
../../../lib/libRDKitSubgraphs.so.1.2017.03.2
../../../lib/libRDKitSmilesParse.so.1.2017.03.2
../../../lib/libRDKitSubstructMatch.so.1.2017.03.2
../../../lib/libRDKitGraphMol.so.1.2017.03.2
../../../lib/libRDKitRDGeometryLib.so.1.2017.03.2
../../../lib/libRDKitDataStructs.so.1.2017.03.2 -lboost_serialization
../../../lib/libRDKitCatalogs.so.1.2017.03.2
../../../lib/libRDKitRDGeneral.so.1.2017.03.2 -lboost_thread
-lboost_system -lpthread -Wl,-rpath,/opt/rdkit/rdkit-Re
lease_2017_03_2/build/lib
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined
reference to `boost::archive::text_iarchive
_impl<boost::archive::text_iarchive>::load_override(boost::a
rchive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined
reference to `boost::archive::archive_excep
tion::archive_exception(boost::archive::archive_exception const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
make[2]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
make[1]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
/opt/boost_1_61_0/lib is also the first path in LD_LIBRARY_PATH.
Thanks for your help and time. I really appreciate it.
Cheers
Post by Paul Emsley
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list.
The italians have a saying "chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source,
without conda, and I thought this will be a breeze. But I am getting an
error. I am pretty sure this is because of the boost version I am using
(1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
:archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most
elegant way for RDKit to tell you so.
But I don't think that that's the case. I think that you are not
linking with the correct boost libraries. Hard to say at the moment.
$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a
ton of these,
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header
(template_arity_spec.hpp) is deprecated")
I see such things also - I comment out the pragmas in the header.
Paul.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
JP
2017-06-22 10:14:35 UTC
Permalink
Just to give this closure on the list -- the problem was that I had static
libraries for boost (.a files). Once I rebuilt boost as shared libraries
(.so) everything worked fine.

Thanks to Greg and Paolo for their help.
Post by Greg Landrum
Let's move this off the list for a bit until we get it resolved.
Can you please do: "VERBOSE=1 make testReaction" and send the output just
to me?
Thanks,
-greg
Post by JP
Looks like it is finding the correct version of boost (and it is finding
boost serialize).
/opt/rdkit/rdkit-Release_2017_03_2/build$ cmake -D
RDK_BUILD_INCHI_SUPPORT=ON -D BOOST_ROOT=/opt/boost_1_61_0/ -D
Boost_NO_SYSTEM_PATHS=ON ..
-- Could NOT find InChI in system locations (missing: INCHI_LIBRARY
INCHI_INCLUDE_DIR)
CUSTOM_INCHI_PATH = /opt/rdkit/rdkit-Release_2017_03_2/External/INCHI-API
-- Found InChI software locally
-- Boost version: 1.61.0
-- python
-- Boost version: 1.61.0
-- thread
-- system
-- chrono
-- date_time
-- atomic
-- Boost version: 1.61.0
-- serialization
== Using strict rotor definition
== Updating Filters.cpp from pains file
== Done updating pains files
-- Boost version: 1.61.0
-- regex
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/rdkit/rdkit-Release_2017_
03_2/build
But the error prevails.
If I set up rdkit to use just the system wide boost (1.58), not my
specific install (1.61), rdkit builds successfully. I do this by clearing
BOOST_ROOT, LD_LIBRARY_PATH, and removing the boost-related cmake flags.
So this is certainly an issue with wrong libraries being picked up.
Post by Greg Landrum
did you build boost serialize?
Post by JP
Hi Greg !
Unfortunately that didn't help (I delete everything in my build
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/
-DBoost_NO_SYSTEM_PATHS=ON ..
and make as usual.
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference
to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Perhaps this isn't related to the system vs user-install, boost after all?
Post by Greg Landrum
If you have a system boost install that you do not want to use, you
should be sure to add "-D Boost_NO_SYSTEM_PATHS=ON" to the cmake arguments.
This will (well, should) disable any usage of the system boost.
-greg
Post by JP
HI Paul,
Funny you should mention that. I have boost 1.61 (installed manually
in /opt) and system boost I installed via sudo apt-get install
/opt/rdkit/rdkit-Release_2017_03_2/build$ dpkg -s libboost-dev |
grep 'Version'
Version: 1.58.0.1ubuntu1
cmake -DRDK_BUILD_INCHI_SUPPORT=ON -DBOOST_ROOT=/opt/boost_1_61_0/
..
(I also have the $BOOST_ROOT env variable set, so I think that is
redundant. Whatever). cmake output clearly shows it is finding/using
boost 1.61
[ 62%] Linking CXX executable testReaction
cd /opt/rdkit/rdkit-Release_2017_03_2/build/Code/GraphMol/ChemReactions
&& /usr/bin/cmake -E cmake_link_script CMakeFiles/testReaction.dir/link.txt
--verbose=1
/usr/bin/c++ -mpopcnt -Wno-deprecated -Wno-unused-function
-fno-strict-aliasing -fPIC -Wall -Wextra -O3 -DNDEBUG
CMakeFiles/testReaction.dir/testReaction.cpp.o -o testReaction
-rdynamic ../../../lib/libRDKitChemReactions.so.1.2017.03.2
../../../lib/libRDKitChemTransforms.so.1.2017.03.2
../../../lib/libRDKitDescriptors.so.1.2017.03.2
../../../lib/libRDKitFingerprints.so.1.2017.03.2
../../../lib/libRDKitDepictor.so.1.2017.03.2
../../../lib/libRDKitFileParsers.so.1.2017.03.2
-lboost_serialization ../../../lib/libRDKitPartialCharges.so.1.2017.03.2
../../../lib/libRDKitMolTransforms.so.1.2017.03.2
../../../lib/libRDKitEigenSolvers.so.1.2017.03.2
../../../lib/libRDKitFilterCatalog.so.1.2017.03.2
../../../lib/libRDKitSubgraphs.so.1.2017.03.2
../../../lib/libRDKitSmilesParse.so.1.2017.03.2
../../../lib/libRDKitSubstructMatch.so.1.2017.03.2
../../../lib/libRDKitGraphMol.so.1.2017.03.2
../../../lib/libRDKitRDGeometryLib.so.1.2017.03.2
../../../lib/libRDKitDataStructs.so.1.2017.03.2
-lboost_serialization ../../../lib/libRDKitCatalogs.so.1.2017.03.2
../../../lib/libRDKitRDGeneral.so.1.2017.03.2 -lboost_thread
-lboost_system -lpthread -Wl,-rpath,/opt/rdkit/rdkit-Re
lease_2017_03_2/build/lib
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined
reference to `boost::archive::text_iarchive
_impl<boost::archive::text_iarchive>::load_override(boost::a
rchive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined
reference to `boost::archive::archive_excep
tion::archive_exception(boost::archive::archive_exception const&)'
collect2: error: ld returned 1 exit status
recipe for target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
make[2]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
make[1]: Leaving directory '/opt/rdkit/rdkit-Release_2017_03_2/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
/opt/boost_1_61_0/lib is also the first path in LD_LIBRARY_PATH.
Thanks for your help and time. I really appreciate it.
Cheers
Post by Paul Emsley
Post by JP
Hi Folks,
Must have been eons ago last time I posted to this mailing list.
The italians have a saying "chi non muore si rivede".
I am trying to install the RDKit (release 2017_03_2) from source,
without conda, and I thought this will be a breeze. But I am getting an
error. I am pretty sure this is because of the boost version I am using
(1.61).
[ 62%] Linking CXX executable testReaction
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
`boost::archive::text_iarchive_impl<boost::archive::text_iar
chive>::load_override(boost::archive::class_name_type&)'
../../../lib/libRDKitChemReactions.so.1.2017.03.2: undefined reference to
:archive::archive_exception
const&)'
collect2: error: ld returned 1 exit status
recipe for
target 'Code/GraphMol/ChemReactions/testReaction' failed
make[2]: *** [Code/GraphMol/ChemReactions/testReaction] Error 1
CMakeFiles/Makefile2:4157: recipe for target
'Code/GraphMol/ChemReactions/CMakeFiles/testReaction.dir/all' failed
make[1]: *** [Code/GraphMol/ChemReactions/C
MakeFiles/testReaction.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
If you are using an outdated version of boost, this is not the most
elegant way for RDKit to tell you so.
But I don't think that that's the case. I think that you are not
linking with the correct boost libraries. Hard to say at the moment.
$ make VERBOSE=1
Post by JP
As I side note, but this is just a deprecation warning, I do get a
ton of these,
note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp)
is deprecated
# pragma message("NOTE: Use of this header
(template_arity_spec.hpp) is deprecated")
I see such things also - I comment out the pragmas in the header.
Paul.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Loading...