Hi Danny,
>$ g++ -std=c++98 -o options options.cpp -lboost_program_options >$ clang++ -std=c++98 -o options options.cpp -lboost_program_options the fact is that even if your code is not directly using c++11 symbols, the underlying libraries (boost_program_options in this case) are, so you can't mix both old and new ABI. objdump -T /usr/lib/x86_64-linux-gnu/libboost_program_options.so |grep cxx echo "_ZN5boost9from_utf8ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE" |c++filt boost::from_utf8(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) so yes, you can't use boost, until clang gets ported to a new c++11 ABI. cheers, G.