[ http://issues.apache.org/jira/browse/AXISCPP-533?page=history ] Mark Whitlock closed AXISCPP-533: ---------------------------------
Resolution: Fixed I have fixed this as suggested by or'ing in RTLD_GLOBAL to the dlopen call on AIX and Linux. Windows and OS/400 do not pass in these flags in the same way. > Inter shared library exception handling broken on Linux > ------------------------------------------------------- > > Key: AXISCPP-533 > URL: http://issues.apache.org/jira/browse/AXISCPP-533 > Project: Axis-C++ > Type: Bug > Components: Basic Architecture > Versions: current (nightly) > Environment: GNU specific (as far as I know) > Reporter: Tim Bartley > Assignee: Mark Whitlock > > On Linux, actually on systems where the compiler and common libraries are g++ > and gnu and glibc, exception handling between shared libraries is broken. It > is broken because the same class in different shared libraries is treated > differently so that an HTTPTransportException thrown by a channel library > does not match "catch (HTTPTransportException& e)" in the transport library. > Refer to http://gcc.gnu.org/faq.html#dso for details. > The fix is to load the subordinate library with RTLD_GLOBAL flag. > As far as I know this is GNU specific but may apply to other platforms. > It's possible that others are not seeing this because the context in which I > am running Axis is from within an application that itself dynamically loads a > library that depends on Axis. > Cheers, > Tim -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira