Boost logo

Boost Users :

From: Pfligersdorffer, Christian (Christian.Pfligersdorffer_at_[hidden])
Date: 2008-06-04 09:35:37

Jeff Flinn on Tuesday, June 03, 2008 10:22 PM:

> Any idea how this differs from what's in the vault? Can it be
> back ported to 1.34.1 and/or 1.35.0? I've just posted a
> problem I'm having on MAC on the devel list.

Hi Jeff, I looked into the developer list (which I am not subscribed to)
and found your posting:

> Using the latest portable_binary_archive from the vault with boost
> 1.34.1 on Mac XCode 3 I'm getting a linker duplicate symbol error:
> ld: duplicate symbol
> boost::archive::basic_binary_oarchive<portable_binary_oarchive>
> ::save_override(boost::archive::class_id_optional_type const&, int)
> in .../

> and .../
> Any help in resolving this issue would be appreciated. This
> compiles/links and runs when built on MSVC 8.

It might be that the mac compiler is a bit more strict on multiple
template instatiations or else. I suspect line 203 to cause your error,
so you could try to move the (entire) instatiation part into a separate
file if you include portable_binary_oarchive.hpp multiple times. Also be
sure that your compiler understands #pragma once or change to the
traditional #ifndef guard.

// explicitly instantiate for this type of binary stream
template class basic_binary_oarchive<portable_binary_oarchive> ;

We have had no user on the mac side of life so you're lucky to be the
first ;) If you do not succeed trying the suggestions above or need
further information feel free to contact me directly or post to the user

It is somewhat confusing to have two portable_binary_archives around
(vault and trunk), so always specify which one you are referring to.


Christian Pfligersdorffer
Software Engineering

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at