Hi Nigel ! On Sunday 22 February 2009, Vladimir Prus wrote:
Dyer, Nigel wrote:
Hi
There is a problem with the 1.38 release of Boost that is preventing me from compiling using gcc on a mac some code that compiled correctly in previous releases. I now get lots of 'multiply defined' error messages when certain boost header files are included in specific ways, e.g.
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: multiple definitions of symbol boost::test_tools::(anonymous namespace)::check_is_close bin/darwin-4.0.1/release/link-static/threading-multi/Lexer/BiobaseL exer. o definition of boost::test_tools::(anonymous namespace)::check_is_close in section (__DATA,__common) bin/darwin-4.0.1/release/link-static/threading-multi/Lexer/ArrayLex er.o definition of boost::test_tools::(anonymous namespace)::check_is_close in section (__DATA,__common)
That looks like #2390 again. https://svn.boost.org/trac/boost/ticket/2390 Can you apply http://svn.boost.org/trac/boost/changeset/49865 and maybe http://svn.boost.org/trac/boost/changeset/50388 and see if this fixes the issue ?
thanks for a comprehensive bug report. On the first look, it appears that Boost.Build change is actually right -- it fixes a previously introduced bug that made PCHs non-functional. And, then, it appears that including boost.test in PCH somehow upsets the compiler. Do things improve if you take all boost.test headers out of bio-pch.h?
It cleanly compiles with gcc-4.3.2 on Linux. Strange.
P.S. Please don't ask new questions by replying to unrelated email, I've nearly missed this one.
Yes :-)) Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! Ingenieurgesellschaft für * voice: ++49 511 262926 57 ! Verkehrs- und Eisenbahnwesen mbH * fax : ++49 511 262926 99 ! Lister Straße 15 * juergen.hunold@ivembh.de ! www.ivembh.de * * Geschäftsführer: ! Sitz des Unternehmens: Hannover * Prof. Dr.-Ing. Thomas Siefer ! Amtsgericht Hannover, HRB 56965 * PD Dr.-Ing. Alfons Radtke !