tss.hpp:82: undefined reference to 'boost::detail::get_tss_data
Hello boosters: When I build boost_1_38, I use 'configure -prefix=/usr' command to put boost files in /usr/ directory. I compile Lintel a paser for cello99, a error occurs: the information is as follows: /usr/include/boost-1_38/boost/thread/tss.hpp:82: undefined reference to 'boost::detail::get_tss_data(void const*)' Is it a bug for boost or some other causes? Would anyone help me? 2009-04-15 wuguangjun
AMDG wuguangjun wrote:
When I build boost_1_38, I use 'configure -prefix=/usr' command to put boost files in /usr/ directory. I compile Lintel a paser for cello99, a error occurs: the information is as follows: /usr/include/boost-1_38/boost/thread/tss.hpp:82: undefined reference to 'boost::detail::get_tss_data(void const*)'
Is it a bug for boost or some other causes? Would anyone help me?
I believe that DataSeries and Lintel use CMake for building, right? It sounds like it isn't linking to the Boost.Thread library. What is the linker command line? In Christ, Steven Watanabe
Thank you for your reply, Lintel and DateSeries really use CMake for building. I re-install CentOS5.3 and all the other needed tools, the error occured again, so I think there must be something wrong. The installing process and error messages are as follow: [boost] ./configure -prefix=/usr -with-icu make make install The result is 2 objects failed and 8 objects skip. I cant find the building log so I cant offer you the detail information. [Lintel] Linking CXX executable pthread CMakeFiles/pthread.dir/pthread.o: In function `boost::thread_specific_ptr<double>::get() const': /usr/include/boost-1_38/boost/thread/tss.hpp:82: undefined reference to `boost::detail::get_tss_data(void const*)' CMakeFiles/pthread.dir/pthread.o: In function `boost::thread_specific_ptr<double>::reset(double*)': /usr/include/boost-1_38/boost/thread/tss.hpp:103: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptrboost::detail::tss_cleanup_function, void*, bool)' CMakeFiles/pthread.dir/pthread.o: In function `boost::thread_specific_ptr<double>::get() const': /usr/include/boost-1_38/boost/thread/tss.hpp:82: undefined reference to `boost::detail::get_tss_data(void const*)' In the CMakeList.txt for the library: IF(THREADS_ENABLED) LINTEL_SIMPLE_TEST(pthread) TARGET_LINK_LIBRARIES(pthread LintelPThread) ENDIF(THREADS_ENABLED) So I think the command is just "-lpthread" . I don't know if these information is enough for you. 2009-04-16 wuguangjun 发件人: Steven Watanabe 发送时间: 2009-04-15 11:24:55 收件人: boost-users 抄送: 主题: Re: [Boost-users] tss.hpp:82: undefined referenceto 'boost::detail::get_tss_data AMDG wuguangjun wrote:
When I build boost_1_38, I use 'configure -prefix=/usr' command to put boost files in /usr/ directory. I compile Lintel a paser for cello99, a error occurs: the information is as follows: /usr/include/boost-1_38/boost/thread/tss.hpp:82: undefined reference to 'boost::detail::get_tss_data(void const*)'
Is it a bug for boost or some other causes? Would anyone help me?
I believe that DataSeries and Lintel use CMake for building, right? It sounds like it isn't linking to the Boost.Thread library. What is the linker command line? In Christ, Steven Watanabe _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
AMDG wuguangjun wrote:
Thank you for your reply, Lintel and DateSeries really use CMake for building. I re-install CentOS5.3 and all the other needed tools, the error occured again, so I think there must be something wrong. The installing process and error messages are as follow:
[boost] ./configure -prefix=/usr -with-icu make make install
The result is 2 objects failed and 8 objects skip. I cant find the building log so I cant offer you the detail information.
There are only a few errors so you can run make again to find out what failed. Alternately, you can check that the Boost.Thread library is present in /usr/lib.
[Lintel] Linking CXX executable pthread CMakeFiles/pthread.dir/pthread.o: In function `boost::thread_specific_ptr<double>::get() const': /usr/include/boost-1_38/boost/thread/tss.hpp:82: undefined reference to `boost::detail::get_tss_data(void const*)' CMakeFiles/pthread.dir/pthread.o: In function `boost::thread_specific_ptr<double>::reset(double*)': /usr/include/boost-1_38/boost/thread/tss.hpp:103: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptrboost::detail::tss_cleanup_function, void*, bool)' CMakeFiles/pthread.dir/pthread.o: In function `boost::thread_specific_ptr<double>::get() const': /usr/include/boost-1_38/boost/thread/tss.hpp:82: undefined reference to `boost::detail::get_tss_data(void const*)'
In the CMakeList.txt for the library:
IF(THREADS_ENABLED) LINTEL_SIMPLE_TEST(pthread) TARGET_LINK_LIBRARIES(pthread LintelPThread) ENDIF(THREADS_ENABLED)
So I think the command is just "-lpthread" . I don't know if these information is enough for you.
It should also be linking to libboost_thread-... If there is nothing that looks like it could be the Boost.Thread library in CMakeLists.txt, I suggest that you take this up with HP. In Christ, Steven Watanabe
participants (2)
-
Steven Watanabe
-
wuguangjun