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!

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.

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 <[email protected] <javascript:>>: 
>
> > 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] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > 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.

Reply via email to