2017-05-26 21:02 GMT-06:00 Shiyun Xiong <s.y.xiong...@gmail.com>: > Dear Christoph, > > Thanks a lot for providing the solutions. > For the first point of using the system gcc and boost: my system gcc > (/usr/bin/gcc) version is 4.4.7 released in 2012, hence it is rather old. > Also, I can not find (I don't know) where is the system boost header files > although I can find the system boost library is in the /usr/lib64/ fold. > Most importantly, as mentioned in my first post, when the boost paths are > specified during the votca installation, it says can not find the required > boost package. As a result, I haven't try this solution! Yes, gcc-4.4.7 would also not support C++11, gcc-4.8 is the first one supporting enough of it to compile VOTCA. > > The second method of using another boost version with the same gcc compiler > as votca: I actually using the default gcc to compile both Boost and Votca > (which gcc --> /usr/local/bin/gcc gcc --version --> gcc (GCC) 6.1.0). So > I think the gcc used to compile both BOOST and votca is the same. Using the > default gcc, I now installed the BOOST 1.62.0 version. However, the > "undefined reference" error still appears. For gcc 6.1, I checked it support > the c++11 standard. Something seems broken here, if you are lucky $ strings -a /path/to/libboost_program_options.so | grep GCC will reveal to you, which gcc was used to compile boost.
But I would try to recompile boost in another directory using gcc-6.1 I recently added votca to spack, so you might have a chance to install it that way: <https://github.com/votca/csg/wiki/Installing#spack> Christoph > > For the third one: my system is Centos, it seems there is not votca install. > > Best Regards, > Shiyun > > > 在 2017年5月27日星期六 UTC+8上午12:22:32,Christoph Junghans写道: >> >> 2017-05-26 4:23 GMT-06:00 Shiyun Xiong <s.y.xi...@gmail.com>: >> > 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 <zhang...@gmail.com>: >> >> > 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 votca+un...@googlegroups.com. >> >> > To post to this group, send email to vo...@googlegroups.com. >> >> > 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 votca+un...@googlegroups.com. >> > To post to this group, send email to vo...@googlegroups.com. >> > 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 votca+unsubscr...@googlegroups.com. > To post to this group, send email to votca@googlegroups.com. > 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 votca+unsubscr...@googlegroups.com. To post to this group, send email to votca@googlegroups.com. Visit this group at https://groups.google.com/group/votca. For more options, visit https://groups.google.com/d/optout.