[Boost-users] tss.hpp:82: undefined reference to 'boost::detail::get_tss_data

1,157 views
Skip to first unread message

wuguangjun

unread,
Apr 14, 2009, 9:46:59 PM4/14/09
to boost-users
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

Steven Watanabe

unread,
Apr 14, 2009, 11:24:34 PM4/14/09
to boost...@lists.boost.org
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...@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users

wuguangjun

unread,
Apr 16, 2009, 12:03:17 AM4/16/09
to boost-users
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_ptr<boost::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?
>   

Steven Watanabe

unread,
Apr 16, 2009, 9:50:05 AM4/16/09
to boost...@lists.boost.org
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_ptr<boost::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

Reply all
Reply to author
Forward
0 new messages