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 .../Persistence.build/Debug/CxxTest.build/Objects-normal/ppc/AAA.o
and .../Persistence.build/Debug/CxxTest.build/Objects-normal/ppc/BBB.o
Any help in resolving this issue would be appreciated. This succesfully 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 list. It is somewhat confusing to have two portable_binary_archives around (vault and trunk), so always specify which one you are referring to. Regards, -- Christian Pfligersdorffer Software Engineering http://www.eos.info