FAQ
My extension (plexsso.so) is dymanically linked with a library. That
library (libplexsso.so) is a statically linked collection of libs
including a custom version of Heimdal Kerberos (libkrb5.a). I have found
that if another module is linked with the stock Heimdal (e.g. pgsql.so
dynamically in this case) some symbol mixing occurs and the application
crashes.

Can two modules use different instances of the same library?

Before I go try to become an expert in linking and the Linux loader
can anyone give me advice as to how to I might workaround (for Linux
at least)?

Mike

--
Michael B Allen
PHP Active Directory SSO
http://www.ioplex.com/

Search Discussions

  • Michael B Allen at Sep 15, 2006 at 7:23 pm
    RTLD_DEEPBIND fixes this problem using a test program and two minimalistic
    DSOs to emulate the namespace clash problem. But I see PHP has support
    for RTLD_DEEPBIND:

    # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT)
    ...
    # elif defined(RTLD_DEEPBIND)
    ...
    # else
    ...
    # endif

    On my Linux glibc 2.3 systems RTLD_DEEPBIND is chosen.

    So now, I have to wonder why my customer had a problem in the first place.

    Based on the above macros, is it possible that RTLD_DEEPBIND could NOT
    be chosen?

    Mike

    On Fri, 15 Sep 2006 11:43:56 -0400
    Michael B Allen wrote:
    My extension (plexsso.so) is dymanically linked with a library. That
    library (libplexsso.so) is a statically linked collection of libs
    including a custom version of Heimdal Kerberos (libkrb5.a). I have found
    that if another module is linked with the stock Heimdal (e.g. pgsql.so
    dynamically in this case) some symbol mixing occurs and the application
    crashes.

    Can two modules use different instances of the same library?

    Before I go try to become an expert in linking and the Linux loader
    can anyone give me advice as to how to I might workaround (for Linux
    at least)?

    Mike
    --
    Michael B Allen
    PHP Active Directory SSO
    http://www.ioplex.com/
  • Michael B Allen at Sep 15, 2006 at 8:07 pm

    On Fri, 15 Sep 2006 15:23:16 -0400 Michael B Allen wrote:

    So now, I have to wonder why my customer had a problem in the first place.

    Based on the above macros, is it possible that RTLD_DEEPBIND could NOT
    be chosen?
    The customer is using 4.3.4 which did not have the RTLD_DEEPBIND patch
    so that explains it. Problem solved. You guys are good :->

    Does anyone happen to know what version the RTLD_DEEPBIND
    patch was shipped in? Is there a way to tell from look at

    http://viewcvs.php.net/viewvc.cgi/

    ?

    Mike

    --
    Michael B Allen
    PHP Active Directory SSO
    http://www.ioplex.com/

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-internals @
categoriesphp
postedSep 15, '06 at 3:44p
activeSep 15, '06 at 8:07p
posts3
users1
websitephp.net

1 user in discussion

Michael B Allen: 3 posts

People

Translate

site design / logo © 2022 Grokbase