Is there a patch for "thread copy constructor is accessible" BUG in solaris.
Hi , I had posted this in build list now I am posting this in users of boost list. Please help thanks in advance. -------- I have done the temporary fix to build the boost 1.37.0 as told in one of the solaris user forum thread http://forums.sun.com/thread.jspa?threadID=5326640 http://forums.sun.com/thread.jspa?threadID=5326640 for the below said error sun.compile.c++ bin.v2/libs/thread/build/sun-5.9/release/link-static/threading-multi/thr ead.o "./boost/thread/detail/thread.hpp", line 344: Error, inaccessible: boost::thread::thread(boost::thread&) is not accessible from boost::move(boost::detail::thread_move_tboost::thread). 1 Error(s) detected. Do I need a patch to fix this? -PM-
"Maruvekere, Praveen (Contractor)"
I have done the temporary fix to build the boost 1.37.0 as told in one of the solaris user forum thread
http://forums.sun.com/thread.jspa?threadID=5326640 http://forums.sun.com/thread.jspa?threadID=5326640 for the below said error
sun.compile.c++ bin.v2/libs/thread/build/sun-5.9/release/link-static/threading-multi/thr ead.o
"./boost/thread/detail/thread.hpp", line 344: Error, inaccessible: boost::thread::thread(boost::thread&) is not accessible from boost::move(boost::detail::thread_move_tboost::thread).
1 Error(s) detected.
Do I need a patch to fix this?
Yes, but not the one suggested. That constructor is private for a reason, and does not actually exist. It is a bug in the compiler that requires it to exist, since it should not be chosen for copying a temporary. If the optimization setting is low enough that the compiler tries to call it then you'll get a link error. I change the move function for thread from boost 1.35 in order to fix an issue with gcc. I'll see what I can come up with. Please raise a trac ticket so I don't forget, as I'm rather snowed under right now. Anthony -- Anthony Williams Author of C++ Concurrency in Action | http://www.manning.com/williams Custom Software Development | http://www.justsoftwaresolutions.co.uk Just Software Solutions Ltd, Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK
Anthony,
Could you please tell me what should be the fix in the "move" method?
Since you have already done that for 1.35.
Regards
-PM-
-----Original Message-----
From: boost-users-bounces@lists.boost.org
[mailto:boost-users-bounces@lists.boost.org] On Behalf Of Anthony
Williams
Sent: Friday, December 19, 2008 3:18 AM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] Is there a patch for "thread copy constructor
isaccessible" BUG in solaris.
"Maruvekere, Praveen (Contractor)"
I have done the temporary fix to build the boost 1.37.0 as told in one of the solaris user forum thread
http://forums.sun.com/thread.jspa?threadID=5326640 http://forums.sun.com/thread.jspa?threadID=5326640 for the below said error
sun.compile.c++
bin.v2/libs/thread/build/sun-5.9/release/link-static/threading-multi/thr
ead.o
"./boost/thread/detail/thread.hpp", line 344: Error, inaccessible: boost::thread::thread(boost::thread&) is not accessible from boost::move(boost::detail::thread_move_tboost::thread).
1 Error(s) detected.
Do I need a patch to fix this?
Yes, but not the one suggested. That constructor is private for a reason, and does not actually exist. It is a bug in the compiler that requires it to exist, since it should not be chosen for copying a temporary. If the optimization setting is low enough that the compiler tries to call it then you'll get a link error. I change the move function for thread from boost 1.35 in order to fix an issue with gcc. I'll see what I can come up with. Please raise a trac ticket so I don't forget, as I'm rather snowed under right now. Anthony -- Anthony Williams Author of C++ Concurrency in Action | http://www.manning.com/williams Custom Software Development | http://www.justsoftwaresolutions.co.uk Just Software Solutions Ltd, Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
"Maruvekere, Praveen (Contractor)"
Could you please tell me what should be the fix in the "move" method? Since you have already done that for 1.35.
In Boost 1.35, the move method just returned the boost::detail::thread_move_tboost::thread passed in. This is actually closer to the rvalue-reference case from C++0x, but caused problems in some cases on gcc. Anthony -- Anthony Williams Author of C++ Concurrency in Action | http://www.manning.com/williams Custom Software Development | http://www.justsoftwaresolutions.co.uk Just Software Solutions Ltd, Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK
participants (2)
-
Anthony Williams
-
Maruvekere, Praveen (Contractor)