Linker errors with boost's threading and python libs, OSX

Hi, Yesterday I upgraded boost to 1.4, from 1.36. A big jump, but hey why not. I'm running OSX, 10.6 with the most recent dev tools ( Xcode 3.2, GCC 4.2, etc ) and used the bjam build system as described on the website. Vanilla install to /usr/local/ giving me the static and dynamic libs in /usr/local/lib. Two (related) questions: 1) My project ( built in Xcode ) uses mostly header-based libs, but does link against libboost_thread.a -- and now it throws all sorts of linker errors when it worked just fine linking against 1.36 For example: "boost::thread::~thread()", referenced from: void boost::checked_deleteboost::thread(boost::thread*)in QTFrameTransfer.o /// many many more And for reference, I really *am* linking against libboost_thread.a 2) My related followup question -- I've *never* been able to link against libboost_python.a. So in the past I added the full source from $BOOST/libs/python/src to a sub-target of my project and manually build my own libboost_python.a which I then linked against. That worked fine. But I don't understand why I can't link against /usr/ local/lib/libboost_python.a I have to assume something's wonky with the way bjam is building these libraries. But I'm following the out-of-the-box install instructions. Finally, I assume I could just build my own local boost the way I used to build boost's python. But I'd rather use the versions in /usr/local/ lib... shamyl zakariya - squamous and rugose

On Sun, Aug 30, 2009 at 7:38 AM, Shamyl Zakariya
Hi,
Yesterday I upgraded boost to 1.4, from 1.36. A big jump, but hey why not.
I am being pedantic, but Boost 1.4 is ancient old, I presume you mean 1.40. :) I do not run OSX, so will need to wait for others to respond to that. :)

Shamyl Zakariya wrote:
Hi,
Yesterday I upgraded boost to 1.4, from 1.36. A big jump, but hey why not. I'm running OSX, 10.6 with the most recent dev tools ( Xcode 3.2, GCC 4.2, etc ) and used the bjam build system as described on the website. Vanilla install to /usr/local/ giving me the static and dynamic libs in /usr/local/lib.
Two (related) questions:
1) My project ( built in Xcode ) uses mostly header-based libs, but does link against libboost_thread.a -- and now it throws all sorts of linker errors when it worked just fine linking against 1.36
For example: "boost::thread::~thread()", referenced from: void boost::checked_deleteboost::thread(boost::thread*)in QTFrameTransfer.o /// many many more
And for reference, I really *am* linking against libboost_thread.a
I suggest you follow the troubleshooting directions given at: http://vladimir_prus.blogspot.com/2009/06/linking-101.html More specifically, does libboost_thread.a include such symbol at all? Also, is this the *first* error message?
2) My related followup question -- I've *never* been able to link against libboost_python.a. So in the past I added the full source from $BOOST/libs/python/src to a sub-target of my project and manually build my own libboost_python.a which I then linked against. That worked fine. But I don't understand why I can't link against /usr/ local/lib/libboost_python.a
I don't think we can help you here unless you explain in what way, exactly, you can't link against it.
I have to assume something's wonky with the way bjam is building these libraries.
This is possible. Although wonkiness in the way to build your project is always an option, too ;-) - Volodya
participants (3)
-
OvermindDL1
-
Shamyl Zakariya
-
Vladimir Prus