Troubleshooting
Problem
Db2 instances come preinstalled with the gsk8capicmd_64 utility, which resides in the ~/sqllib/gskit/bin folder of the Db2 instance owner's home folder. When a user configures a Db2 instance for SSL support, the gsk8capicmd_64 utility is used to create a keystore.
Execution of the gsk8capicmd_64 utility might fail with symbol resolution errors similar to the following:
Execution of the gsk8capicmd_64 utility might fail with symbol resolution errors similar to the following:
rtld: 0712-001 Symbol _ct_13GSKASNCBufferFv was referenced
from module gsk8capicmd_64(), but a runtime definition
of the symbol was not found.
rtld: 0712-001 Symbol __ct__19GSKP12DataStoreImplFRC9GSKBufferPCcb was referenced
from module gsk8capicmd_64(), but a runtime definition
of the symbol was not found.
Cause
If another installation of GSKit exists on the system, such as a global install in /usr/bin, the instance owner's profile might be configured such that there is a mismatch:
- gsk8capicmd_64 is chosen from the Db2 installation directory, and the GSKit libraries are chosen from the global installation
- gsk8capicmd_64 is chosen from the global installation, and the GSKit libraries are chosen from the Db2 installation
Any mismatch of gsk8capicmd_64 and GSKit libraries can cause the symbol resolution errors.
Diagnosing The Problem
1. Verify exactly which version of gsk8capicmd_64 is being used:
$ which gsk8capicmd_64
2. Verify exactly which version of libraries are being loaded when your gsk8capicmd_64 is executed:
$ ldd <full path of gsk8capicmd_64>
Resolving The Problem
To resolve the problem, the instance owner's shell profile must be corrected to ensure the version of gsk8capicmd_64 chosen match the GSKit libraries. The content of the corrections depends on the operating environment.
AIX environments
- If the instance owner's shell is KSH, add the lines for your environment to the end of ~/.kshrc
- If the instance owner's shell is Bash, add the lines to the end of ~/.bashrc
export PATH=$HOME/sqllib/gskit/bin:$PATH
export LIBPATH=$HOME/sqllib/lib64/gskit:$LIBPATH
Linux environments
- If the instance owner's shell is KSH, add the following lines to the end of ~/.kshrc
- If the instance owner's shell is Bash, add the following lines to the end of ~/.bashrc
export LD_LIBRARY_PATH=$HOME/sqllib/lib64/gskit:$LIBPATH
export PATH=$HOME/sqllib/gskit/bin:$PATH
Once the changes are made, close the shell and create a new session to use the corrected environment.
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PkuAAE","label":"Security and Plug-Ins"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
20 December 2021
UID
swg21650305