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:57:17


Le 18/10/13 21:39, MM a écrit :
> On 18 October 2013 20:04, Vicente J. Botet Escriba
> <vicente.botet_at_[hidden] <mailto:vicente.botet_at_[hidden]>> wrote:
>
> 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());
> }
> }
>
> Indeed, this file (thread.hpp not .h) is there and has the same code
> at the same lines.
> However /usr/lib64/libboost_thread-mt.so.1.53.0 doesn't have
> start_thread() symbol at all.
> start_thread_noexcept() is there though.
>
start_thread is defined inside a class and would expect it to be
inlined. I don't understand why the symbols is unresolved. Please could
you compile with -E and take a look at the preprocessed output?
> Fedora guys said they compile with g++4.8 but with c++98, not c++11
Does it works if you compile with c++98?

Best,
Vicente
>
>
> Please could you check this file and the contexts of this linenes
>
> Best,
> Vicente
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden] <mailto:Boost-users_at_[hidden]>
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users



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