IBM Support

IT23306: Directory /usr/lib is prepended to LIBPATH on AIX for client applications establishing TLS connections to queue managers

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When running a native MQ C application on AIX that establishes a
    TLS connection to a queue manager, the MQ client library alters
    the value of the system library path (LIBPATH) by adding the
    directory where the MQ installation of GSKit is located, for
    example:
    
      /usr/mqm/gskit8/lib64
    
    followed by:
    
      /usr/lib
    
    during an MQCONN(X) API call.
    
    For example, if the value of LIBPATH before the MQ connection
    API call was:
    
      /opt/myproduct/mylibs
    
    the value of LIBPATH after the MQ connection API call would be:
    
      /usr/mqm/gskit8/lib64:/usr/lib:/opt/myproduct/mylibs
    
    The addition of /usr/lib can cause library loading issues for
    the application after the MQ connection API call completes as it
    could result in an incompatible, but equivalently named, library
    being loaded form /usr/lib rather than the configured
    /opt/myproduct/mylibs directory.
    

Local fix

  • Configure the system such that the libraries required by the
    application exist at the appropriate level in /usr/lib, or such
    that no versions of those libraries exist in /usr/lib
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of native MQ C applications on AIX that
    establish TLS secured connections to queue managers before
    attempting to load other libraries from the system.
    
    
    Platforms affected:
    AIX
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    Due to way in which libraries are loaded on AIX and to ensure
    the MQ installation of GSKit and its inter-library dependencies
    are loaded for client applications establishing TLS connections
    to queue managers, the MQ client adds the directory location of
    MQ's GSKit installation to the front of the library path
    (LIBPATH) when the application attempts to connect to an MQ
    queue manager.  The directory /usr/lib is also prepended, after
    the location of GSKit, to the library path.
    
    After connecting to an MQ queue manager, if the application then
    attempted to load a named library from the system and a library
    of that name was found in /usr/lib, an attempt to load that copy
    would be made.  If the library in /usr/lib was incompatible with
    the application compared to an equivalently named one that can
    be found in a different directory listed later in the library
    path, which the application expected to load, then a library
    loading error would occur.
    

Problem conclusion

  • This APAR adds a configuration environment variable by the name
    of:
    
      AMQ_GSKIT_CLIENT_NO_PREPEND_USRLIB_LIBPATH
    
    This new environment variable can be used to suppress the
    prepending of /usr/lib by setting the environment variable to a
    non-empty value in the environment used to run the MQ client
    application, for example:
    
      export AMQ_GSKIT_CLIENT_NO_PREPEND_USRLIB_LIBPATH=TRUE
    
    When this environment variable is set to a non-empty value, the
    MQ client code will not add the directory /usr/lib to the front
    of the library path (LIBPATH) after the the location of the MQ
    installation of GSKit.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.9
    v9.0 CD    9.0.5
    v9.0 LTS   9.0.0.4
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT23306

  • Reported component name

    IBM MQ BASE MP

  • Reported component ID

    5724H7251

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-11-28

  • Closed date

    2018-01-09

  • Last modified date

    2018-01-09

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    IBM MQ BASE MP

  • Fixed component ID

    5724H7251

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
09 January 2018