qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Conway <acon...@redhat.com>
Subject Enabling --visibility=hidden for the C++ build.
Date Thu, 28 Jul 2011 18:37:50 GMT
I've been fiddling with this on and off for a while. I think it's mostly done 
but I'm stuck, would appreciate any fresh insights:


Work to date is on branch https://svn.apache.org/repos/asf/qpid/branches/qpid-3163.

The bulk of the extern declarations etc. are in place, however I'm stuck on a 
run time failure. The boost::any code, used by boost::program_options, used by 
qpid/Options, does a typeinfo comparison which fails due to multiple typeinfo 
symbols for std::string. (See http://gcc.gnu.org/wiki/Visibility).

One (impractical) solution that I have verified is to wrap every #include 
<string> like this

#pragma GCC visibility push(default)
#include <string>
#pragma GCC visibility pop

This includes occurences in system header files! Clearly not practical.

Another solution would be to re-write qpid::Options to avoid boost::options.

There are further issues to resolve after getting past this one, not clear how 
many although I think we're nearly there.

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org

View raw message