From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-08-19 01:54:17
On Thursday 18 August 2005 22:20, Mat Marcus wrote:
> It appears that on some platforms, the boost build system is not aware
> of the necessary compiler flags that must be set when using shared
> libraries. In my experience, under gcc 4.0 if one doesn't effectively
> make *all* symbols visible via -fvisibility=default, for both the
> dynamic libraries and the executable that uses them, then compiler
> generated RTTI information will *not* be shared. I believe that
> -fvisibility=default for dynamic libraries is the default setting but
> when an executable is being built it seems that -fvisibility=hidden is
> the default.
Oh [censored], did they manage to mess up shared linking even more?
This essentially means that -fvisibility=hidden is absolutely useless if you
have polymorphic types in shared libraries!
Look, maybe you can ask about this on the gcc mailing list? Maybe, there's
still some option to make it work? Does using -fvisibility=hidden on library
leads to the same problems?
-- Vladimir Prus http://vladimir_prus.blogspot.com Boost.Build V2: http://boost.org/boost-build2
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk