I get a different behavior when compiling on powerpc/MacOSX 10.3.9 and i686/Linux. In the first case, the symbol is undefined while in the second case it is weak and thus link correctly. #include <iostream> #include "boost/dynamic_bitset.hpp" int main( int argc, char *argv[] ) { boost::dynamic_bitset<> aDynBitset; std::cout << aDynBitset.count() << std::endl; return 0; } g++ -v --save-temps -I${HOME}/installed/local/include -o test_dynamic_bitset test_dynamic_bitset.cc > test_dynamic_bitset.log 2>&1 'nm test_dynamic_bitset.o' outputs On MacOSX: U boost::detail::dynamic_bitset_count_impl::count_table<true>::table On linux: 00000000 V boost::detail::dynamic_bitset_count_impl::count_table<true>::table I would expect the behavior to be the same on both systems, mostly the same as on linux.
Created attachment 10342 [details] source file to reproduce the problem
Created attachment 10343 [details] save-temps on macos
Created attachment 10344 [details] output log on macos
This is a dup of bug 11026 which was fixed only for 4.0.0. The work around is to instantiated explictly. *** This bug has been marked as a duplicate of 11026 *** *** This bug has been marked as a duplicate of 11026 ***
Created attachment 10345 [details] save-temps on linux
Created attachment 10346 [details] output log on linux