2015-04-26 13:53 GMT-06:00 Vitalie Botan <[email protected]>: > Hi Christoph, > > This problem still persist with clang ver 6.0, but now linking against lib > boost_program_options.dylib is broken: > > [ 96%] Building CXX object > src/libtools/CMakeFiles/votca_tools.dir/linalg/gsl/svd.cc.o > > > cd /Volumes/Home/Work/VOTCA/tools/src/libtools && /usr/bin/c++ > -Dvotca_tools_EXPORTS -O3 -DNDEBUG -fPIC > -I/Volumes/Home/Work/VOTCA/tools/include -I/usr/local/boost/include > -I/usr/local/fftw/include -I/usr/local/gsl/include > -I/Volumes/Home/Work/VOTCA/tools/src/libtools > -I/Volumes/Home/Work/VOTCA/tools/include/votca/tools -o > CMakeFiles/votca_tools.dir/linalg/gsl/svd.cc.o -c > /Volumes/Home/Work/VOTCA/tools/src/libtools/linalg/gsl/svd.cc > > > Linking CXX shared library libvotca_tools.dylib > > > cd /Volumes/Home/Work/VOTCA/tools/src/libtools && > /Applications/CMake.app/Contents/bin/cmake -E cmake_link_script > CMakeFiles/votca_tools.dir/link.txt --verbose=1 > > > /usr/bin/c++ -O3 -DNDEBUG -dynamiclib -Wl,-headerpad_max_install_names > -compatibility_version 3.0.0 -o libvotca_tools.3.dylib -install_name > /Volumes/Home/Work/VOTCA/tools/src/libtools/libvotca_tools.3.dylib > CMakeFiles/votca_tools.dir/akimaspline.cc.o > CMakeFiles/votca_tools.dir/application.cc.o > CMakeFiles/votca_tools.dir/colors.cc.o > CMakeFiles/votca_tools.dir/correlate.cc.o > CMakeFiles/votca_tools.dir/crosscorrelate.cc.o > CMakeFiles/votca_tools.dir/cubicspline.cc.o > CMakeFiles/votca_tools.dir/datacollection.cc.o > CMakeFiles/votca_tools.dir/globals.cc.o > CMakeFiles/votca_tools.dir/histogram.cc.o > CMakeFiles/votca_tools.dir/histogramnew.cc.o > CMakeFiles/votca_tools.dir/linspline.cc.o > CMakeFiles/votca_tools.dir/matrix.cc.o CMakeFiles/votca_tools.dir/mutex.cc.o > CMakeFiles/votca_tools.dir/parcer.cc.o > CMakeFiles/votca_tools.dir/parsexml.cc.o > CMakeFiles/votca_tools.dir/property.cc.o > CMakeFiles/votca_tools.dir/propertyiomanipulator.cc.o > CMakeFiles/votca_tools.dir/random.cc.o > CMakeFiles/votca_tools.dir/random2.cc.o > CMakeFiles/votca_tools.dir/rangeparser.cc.o > CMakeFiles/votca_tools.dir/spline.cc.o CMakeFiles/votca_tools.dir/table.cc.o > CMakeFiles/votca_tools.dir/thread.cc.o > CMakeFiles/votca_tools.dir/tokenizer.cc.o > CMakeFiles/votca_tools.dir/version.cc.o > CMakeFiles/votca_tools.dir/linalg/gsl/cholesky.cc.o > CMakeFiles/votca_tools.dir/linalg/gsl/eigensystems.cc.o > CMakeFiles/votca_tools.dir/linalg/gsl/invert.cc.o > CMakeFiles/votca_tools.dir/linalg/gsl/qrsolve.cc.o > CMakeFiles/votca_tools.dir/linalg/gsl/svd.cc.o > /usr/local/boost/lib/libboost_program_options.dylib > /usr/local/boost/lib/libboost_filesystem.dylib > /usr/local/boost/lib/libboost_system.dylib /usr/local/gsl/lib/libgsl.dylib > /usr/local/fftw/lib/libfftw3.dylib /usr/lib/libexpat.dylib -lm > > > Undefined symbols for architecture x86_64: > > > "boost::program_options::to_internal(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&)", > referenced from: This one looks to me like boost headers and libboost are not in sync. I would try to purge the boost header in /usr/local and re-install them together with libboost_program_options.
> > > std::__1::vector<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> >, > std::__1::allocator<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > > > > boost::program_options::to_internal<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > >>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, > std::__1::allocator<char> >, > std::__1::allocator<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in > application.cc.o > > > > "boost::program_options::options_description::options_description(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned > int, unsigned int)", referenced from: > > > votca::tools::Application::Application() in application.cc.o > > > > votca::tools::Application::AddProgramOptions(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&) in > application.cc.o > > > > "boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::__1::pair<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> >, > std::__1::basic_string<char, std::__1::char_traits<char>, > std::__1::allocator<char> > >, std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&>)", > referenced from: > > > > boost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::__1::pair<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> >, > std::__1::basic_string<char, std::__1::char_traits<char>, > std::__1::allocator<char> > >, std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&>) in > application.cc.o > > > > "boost::program_options::detail::cmdline::cmdline(std::__1::vector<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> >, > std::__1::allocator<std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > > > const&)", > referenced from: > > > > boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, > char const* const*) in application.cc.o > > > "boost::program_options::operator<<(std::__1::basic_ostream<char, > std::__1::char_traits<char> >&, boost::program_options::options_description > const&)", referenced from: > > > votca::tools::Application::ShowHelpText(std::__1::basic_ostream<char, > std::__1::char_traits<char> >&) in application.cc.o > > > ld: symbol(s) not found for architecture x86_64 > > > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > > > make[2]: *** [src/libtools/libvotca_tools.3.dylib] Error 1 > > > make[1]: *** [src/libtools/CMakeFiles/votca_tools.dir/all] Error 2 > > > make: *** [all] Error 2 > > > Google search hinted a possible cause of this error: both boost lib and the > project has to be linked against libstdc++, which is not the default case > with the newest clang compiler (by default now Apple replaced libstdc++ with > libc++, but still keeps both of them for compatibility issues). I have > re-compiled boost lib and linked it with the current libstdc++ and tried to > pass -DCFLAGS="-stdlib=libstdc++" to the build.sh script, but still no luck. > Can be that libstdc++ is irrelevant to this error, but I've not found any > other reason. > Any ideas? > > Best, > --Vitalie > > -- > 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 http://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 http://groups.google.com/group/votca. For more options, visit https://groups.google.com/d/optout.
