I'm trying to compile a big CUDA C++ / Python code in Fedora 15 64-bit. CUDA doesn't support gcc 4.5 or newer, so I've installed gcc 4.4.6 in my /opt directory. After pointing cmake and nvcc to the old version of gcc, everything seems to compile fine, but then I get a big set of errors:
It looks like the boost library is trying to link to GLIBCXX_3.4.15, so I checked to see if it exists:Code:/usr/lib/../lib64/libboost_signals-mt.so: undefined reference to `std::__detail::_List_node_base::swap(std::__detail::_List_node_base&, std::__detail::_List_node_base&)@GLIBCXX_3.4.15' /usr/lib/../lib64/libboost_thread-mt.so: undefined reference to `std::out_of_range::~out_of_range()@GLIBCXX_3.4.15' /usr/lib/../lib64/libboost_signals-mt.so: undefined reference to `std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)@GLIBCXX_3.4.15' /usr/lib/../lib64/libboost_signals-mt.so: undefined reference to `std::__detail::_List_node_base::_M_reverse()@GLIBCXX_3.4.15' /usr/lib/../lib64/libboost_signals-mt.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15' /usr/lib/../lib64/libboost_python-mt.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15' collect2: ld returned 1 exit status make[2]: *** [python-runner/hoomd] Error 1 make[1]: *** [python-runner/CMakeFiles/hoomd.dir/all] Error 2 make: *** [all] Error 2
The conclusion I've reached is that boost is trying to link to a version of the C++ standard library that GCC 4.4.6 does not support. Is this correct? If so, how do I direct boost to an older library (3.4.13, for example)?Code:$ pwd /opt/gcc-4.4.6/lib64 $ strings libstdc++.so.6 | grep GLIBC GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.14 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH



Reply With Quote
