Symbolic names of linked shared libraries (UNIX)

When the esql command links shared or thread-safe shared HCL OneDB™ libraries with your application, it uses the symbolic names of these libraries. The symbolic names of the HCL OneDB shared libraries have the following formats:
  • A non-thread-safe shared HCL OneDB general library has a symbolic name of the form libxxx.yyy.
  • A thread-safe shared HCL OneDB general library has a symbolic name of the form libthxxx.yyy.
In these static-library names, xxx identifies the particular library and yyy is a platform-specific file extension that identifies shared library files.
Tip: To refer to a specific shared-library file, this publication often uses the file extension for the Sun UNIX™ operating system, the .so file extension. For the shared-library file extension that your UNIX operating system uses, see your UNIX operating system documentation.
When you install the product, the installation script makes a symbolic link of the actual shared product library name to the file with the symbolic name. The following figure shows the format for the actual names of shared and thread-safe shared versions of HCL OneDB libraries.
Figure 1: Format of the HCL OneDB shared-library name


The following sample output shows the symbolic and actual names for the libos.a static library and the libos.so shared library (on a Sun platform):
%ls -l $ONEDB_HOME/esql/libos*
-rw-r--r--  1 informix   145424 Nov 8 01:40 libos.a
lrwxrwxrwx  1 root           11 Nov 8 01:40 libos.so -> iosls07a.so*

The esql command links the symbolic shared-library names with the application. At runtime, dynamically links the code for the shared HCL OneDB general library when the program requires the HCL OneDB general-library function.