Boost logo

Boost Users :

Subject: Re: [Boost-users] thread: linux fedora .so built file under c++98 does not provide start_thread() symbol
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2013-10-18 15:04:45


Le 18/10/13 20:50, MM a écrit :
> hello,
>
> I am compiling my code with g++4.8.1 under c++11 mode, however the
> fedora's system provided boost thread lib has been compiled under c++98.
>
> Linking fails because of errors like:
>
> mainthread.cpp:(.text+0x2cf): undefined reference to
> `boost::thread::start_thread()'
> mainthread.cpp:(.text+0xcc9): undefined reference to
> `boost::thread::join()'
>
>
> looking at the provided shared object,
> nm -C -D /usr/lib64/libboost_thread-mt.so.1.53.0 |grep start_thread
>
>
> 000000000000ba80 T
> boost::thread::start_thread_noexcept(boost::thread_attributes const&)
> 000000000000ba00 T boost::thread::start_thread_noexcept()
>
> neither of which is start_thread()
>
> I've put an entry here
> https://bugzilla.redhat.com/show_bug.cgi?id=1021009
>
> Is there a possible workaround?
>
Are you sure your compiling with Boost 1.53?
start_thread is defined in boost/thread/detail/thread.h lines 178-184 as

         void start_thread()
         {
           if (!start_thread_noexcept())
           {
             boost::throw_exception(thread_resource_error());
           }
         }

Please could you check this file and the contexts of this linenes

Best,
Vicente


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net