Boost logo

Boost :

Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC
From: Tim Burgess (tim_at_[hidden])
Date: 2013-03-26 12:00:52


Hi,

I built Boost with the Darwin toolset, so that uses GCC (how can I check
which linker is being used by the Boost build system?). My application
project is linking using libc++.

Assuming I've got a linker mismatch, how can I either get Boost to link
using libc++, or get XCode to link using stdlibc?

Best wishes.

Tim Burgess

-----Original Message-----
From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Louis Dionne
Sent: 26 March 2013 15:05
To: boost_at_[hidden]
Subject: Re: [boost] Serialise on Mac OSX 10.8, XCode and GCC

Tim Burgess <tim <at> raisedbar.net> writes:

>
> Hi,
>
> I have an XCode c++ project that uses the static serialisation library
> (as well as FileSystem, IOStream and System). The project started out
> on XCode
> 3.6 on Mac OSX 10.6, where it successfully built and ran using Boost
> 1_49_0, built against Apple's 10.6 SDK.
 [...]

Hi,

This is really just a guess, but:

Did you build Boost using clang with libc++? If so, and if you are building
your project with gcc and stdlibc++, that could be the source of the
problem.

IIRC, libc++ broke the ABI compatibility with stdlibc++. To turn potential
runtime errors into link-time errors, they used inline namespaces. For
example, symbols inside the std namespace with libc++ are of the form
    std::__1::symbol

while with stdlibc++ they are of the form
    std::symbol

When linking with a library built with a different runtime, the linker will
fail to find the symbols, turning a nasty runtime error into a link failure.
If I were you, I would look at the symbols exported by Boost. If they don't
match those referenced by your project, that could be it.

Best of luck,

Louis

_______________________________________________
Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk