Running TLS client applications with multiple installations of GSKit V8.0 on AIX
TLS client applications on AIX might experience MQRC_CHANNEL_CONFIG_ERROR and error AMQ6175 when running on AIX systems with multiple GSKit V8.0 installations.
When running client applications on an AIX system with multiple GSKit V8.0 installations, the client connect calls can return MQRC_CHANNEL_CONFIG_ERROR when using TLS. The /var/mqm/errors logs record error AMQ6175 and AMQ9220 for the failing client application, for example:
09/08/11 11:16:13 - Process(24412.1) User(user) Program(example) Host(machine.example.ibm.com) Installation(Installation1) VRMF(7.1.0.0) AMQ6175: The system could not dynamically load the shared library '/usr/mqm/gskit8/lib64/libgsk8ssl_64.so'. The system returned error number '8' and error message 'Symbol resolution failed for /usr/mqm/gskit8/lib64/libgsk8ssl_64.so because: Symbol VALUE_EC_NamedCurve_secp256r1__9GSKASNOID (number 16) is not exported from dependent module /db2data/db2inst1/sqllib/lib64/libgsk8cms_64.so. Symbol VALUE_EC_NamedCurve_secp384r1__9GSKASNOID (number 17) is not exported from dependent module /db2data/db2inst1/sqllib/lib64/libgsk8cms_64.so. Symbol VALUE_EC_NamedCurve_secp521r1__9GSKASNOID (number 18) is not exported from dependent module /db2data/db2inst1/sqllib/lib64/libgsk8cms_64.so. Symbol VALUE_EC_ecPublicKey__9GSKASNOID (number 19) is not exported from dependent module /db2data/db2inst1/sqllib/lib64/libgsk8cms_64.so. Symbol VALUE_EC_ecdsa_with_SHA1__9GSKASNOID (number 20) is not exported from dependent module /db2data/db2inst1/sqllib/lib64/libgsk8cms_64.so. Symbol VALUE_EC_ecdsa__9GSKASNOID (number 21) is not exported from dependent module /db2data/db2inst1/sqllib/lib64/libgsk8cms_64.so.'. EXPLANATION: This message applies to AIX systems. The shared library '/usr/mqm/gskit8/lib64/libgsk8ssl_64.so' failed to load correctly due to a problem with the library. ACTION: Check the file access permissions and that the file has not been corrupted. ----- amqxufnx.c : 1284 ------------------------------------------------------- 09/08/11 11:16:13 - Process(24412.1) User(user) Program(example) Host(machine.example.ibm.com) Installation(Installation1) VRMF(7.1.0.0) AMQ9220: The GSKit communications program could not be loaded. EXPLANATION: The attempt to load the GSKit library or procedure '/usr/mqm/gskit8/lib64/libgsk8ssl_64.so' failed with error code 536895861. ACTION: Either the library must be installed on the system or the environment changed to allow the program to locate it. ----- amqcgska.c : 836 --------------------------------------------------------A common cause of this error is that the setting of the LIBPATH or LD_LIBRARY_PATH environment variable has caused the IBM MQ client to load a mixed set of libraries from two different GSKit V8.0 installations. Executing an IBM MQ client application in a Db2® environment can cause this error.To avoid this error, include the IBM MQ library directories at the front of the library path so that the IBM MQ libraries take precedence. This can be achieved using the setmqenv command with the -k parameter, for example:
. /usr/mqm/bin/setmqenv -s -kFor more information about the use of the setmqenv command, refer to setmqenv (set IBM MQ environment)