2017-05-26 4:23 GMT-06:00 Shiyun Xiong <[email protected]>: > Dear Christoph, > > I have install the latest BOOST version 1.64.0. However, I have encountered > other errors: 'Make_array' is not a member of 'boost::serialization'. Yup, boost 1.64.0 has a bug (see here: <https://svn.boost.org/trac/boost/ticket/12516>), which has nothing to do with VOTCA. 1.64 is very new release and hence not very well tested.
> In fact, I have used this version of BOOST at the beginning and this error > occured. Denis suggested me to downgrade my boost version and I found from > the votca website that 1.53 is a recommanded version. That's why I used 1.53 Ok, let me try to clarify. VOTCA works pretty much works with any gcc and boost version (except may the above mentioned boost-1.64.0). However, VOTCA (from version 1.4on ) uses C++-11 features and hence depends on C++-11 ABI. Unfortunately, <=gcc-4.9, gcc-5* and >=gcc-6 have 3 different C++-11 ABIs and hence you will get the "undefined reference" error from above when trying to link VOTCA against a boost, which was built with a different C++-11 ABI. There are multiple solutions to that issue: 1.) Use the system (NOT /usr/local) gcc and boost - usually the Linux distributions get their thing together nicely. 2.) Use a (non-buggy) boost version, which is compiled with SAME compiler as you are compiling VOTCA with. 3.) If you don't need the development version of VOTCA, just use the package, which comes with your linux distributions - OpenSuse, Fedora, Debian, Ubuntu have VOTCA packages. See <https://github.com/votca/csg/wiki/Installing> Christoph > > Attached are the on screen information and cmake error information. Please > check it. Thank you so much! > > Best regards, > Shiyun > > > 在 2017年5月24日星期三 UTC+8下午9:53:25,Christoph Junghans写道: >> >> 2017-05-24 2:00 GMT-06:00 Bensen-zjg Zhang <[email protected]>: >> > Dear VOTCA developers and users, >> > >> > >> > I am trying to install the VOTCA software with build.sh on Centos system >> > but >> > encountered some errors. Before install votca, I have installed all the >> > dependencies: Boost, Git, GSL, FFTW3, EXPAT, PkgConfig, SQLITE3, >> > Doxygen, >> > Gromacs. The gcc version is 6.1.0 and the current boost version is >> > 1.53.0. >> > The installation command I used is: >> > >> > ./build.sh --prefix /usr/local/votca/ >> > -DFFTW3_INCLUDE_DIR=/usr/local/fftw_shared/include/ >> > -DFFTW3_LIBRARY=/usr/local/fftw_shared/lib/libfftw3.so --dev tools csg >> > kmc >> > moo ctp ctp-tutorials ctp-manual >> > >> > With this building command, I got the following error information: >> > /usr/local/lib/libboost_program_options.so: undefined reference to >> > `std::__cxx11::basic_string<char, std::char_traits<char>, >> > std::allocator<char> >::~basic_string()@GLIBCXX_3.4.21' >> Errors like these usually mean your boost has been compiled with an >> older (ABI-incompatible) version of gcc. >> (I am guessing so, as you are using gcc-6.1 which relatively recent, >> while boost-1.53 is actually more than 4 years old.) >> >> See the troubleshooting block of >> >> https://gcc.gnu.org/onlinedocs/gcc-5.2.0/libstdc++/manual/manual/using_dual_abi.html >> for details. >> >> Just install a newer version of boost using your gcc-6.1 and have >> VOTCA compile against that one. >> >> Christoph >> >> >> >> > /usr/local/lib/libboost_program_options.so: undefined reference to >> > `std::logic_error::logic_error(std::__cxx11::basic_string<char, >> > std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21' >> > /usr/local/lib/libboost_program_options.so: undefined reference to >> > `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, >> > std::allocator<wchar_t> >::~basic_string()@GLIBCXX_3.4.21' >> > /usr/local/lib/libboost_program_options.so: undefined reference to >> > `operator >> > delete(void*, unsigned long)@CXXABI_1.3.9' >> > /usr/local/lib/libboost_program_options.so: undefined reference to >> > `std::__cxx11::basic_string<char, std::char_traits<char>, >> > std::allocator<char> >::_M_replace(unsigned long, unsigned long, char >> > const*, unsigned long)@GLIBCXX_3.4.21' >> > /usr/local/lib/libboost_program_options.so: undefined reference to >> > `std::__cxx11::basic_string<char, std::char_traits<char>, >> > std::allocator<char> >::find(char const*, unsigned long, unsigned long) >> > const@GLIBCXX_3.4.21' >> > /usr/local/lib/libboost_filesystem.so: undefined reference to >> > `std::__cxx11::basic_string<char, std::char_traits<char>, >> > std::allocator<char> >::rfind(char, unsigned long) const@GLIBCXX_3.4.21' >> > collect2: ld returned 1 exit status >> > make[2]: *** [src/tools/votca_property] Error 1 >> > make[1]: *** [src/tools/CMakeFiles/votca_property.dir/all] Error 2 >> > make: *** [all] Error 2 >> > >> > When searching from the previous discussions, I found that I may need to >> > specify the Boost path. As a result, I tried: >> > >> > ./build.sh --prefix /usr/local/votca/ >> > -DFFTW3_INCLUDE_DIR=/usr/local/fftw_shared/include/ >> > -DFFTW3_LIBRARY=/usr/local/fftw_shared/lib/libfftw3.so >> > -DBoost_INCLUDE_DIR=/usr/local/include/boost/ >> > >> > -DBoost_PROGRAM_OPTIONS_LIBRARY=/usr/local/lib/libboost_program_options.so >> > -DBoost_FILESYSTEM_LIBRARY=/usr/local/lib/libboost_filesystem.so --dev >> > tools >> > csg kmc moo ctp ctp-tutorials ctp-manual >> > >> > >> > This time, votca can not find the boost package? I have no idea why it >> > can >> > not find boost since I have specified the path to it! >> > For more information, I have attached the entire on screen printed >> > information and the cmake error file. The file names with "_noBoostPath" >> > correspond to the first building command (no boost path is specified) >> > while >> > the file names with "_withBoostPath" correspond to the second building >> > command. >> > >> > By the way, when using the second building command, votca find both GSL >> > and >> > MKL libraries, so I have also tried to disable the mkl library with >> > -DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON, but not change happens. >> > >> > Thank you very much for your kind help! >> > With best regards, >> > Shiyun >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "votca" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at https://groups.google.com/group/votca. >> > For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> Christoph Junghans >> Web: http://www.compphys.de > > -- > You received this message because you are subscribed to the Google Groups > "votca" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/votca. > For more options, visit https://groups.google.com/d/optout. -- Christoph Junghans Web: http://www.compphys.de -- You received this message because you are subscribed to the Google Groups "votca" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/votca. For more options, visit https://groups.google.com/d/optout.
