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
    followed by:
    during an MQCONN(X) API call.
    For example, if the value of LIBPATH before the MQ connection
    API call was:
    the value of LIBPATH after the MQ connection API call would be:
    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

  • ****************************************************************
    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:
    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
    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:
    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
    v9.0 CD    9.0.5
    v9.0 LTS
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'

Temporary fix


APAR Information

  • APAR number


  • Reported component name


  • Reported component ID


  • Reported release


  • Status


  • PE




  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date


  • Closed date


  • Last modified date


  • 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


  • Fixed component ID


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":"","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
09 January 2018