Informix Error -1283: Library API incompatibility found in libgls.so.
Cause and resolution
Library API incompatibility found in libgls.so.
The libgls.so shared library compiled with your client application is incompatible with the version in the $INFORMIXDIR/lib directory. Recompile your application with INFORMIXDIR set to the path of the new libgls.so shared library.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-1283 fires when the libgls.so shared library the client application was compiled against is
incompatible with the version present in $INFORMIXDIR/lib — per the official guidance, this is
the same class of build/link-time version mismatch as -1280/-1281/-1282, for a different shared
library.
- The application compiled against a different
libgls.soversion than the one currently installed under$INFORMIXDIR/lib, per the official guidance — the direct, only cause.
Solutions / Resolution
- Recompile the application with
INFORMIXDIRset to the path containing the newlibgls.soshared library, per the official guidance.
Examples
Recompiling against the correct library
$ export INFORMIXDIR=/opt/informix
$ make clean && make
Diagnostic Checks
- Check which
libgls.soversion the application was originally compiled against, versus the version currently under$INFORMIXDIR/lib, and recompile if they differ.
Related Errors / Related Topics
- -1280 — "Library API incompatibility found in libgen.so." Same class of library-version
mismatch, for
libgen.so. - -1281 — "Library API incompatibility found in libos.so." Same class of library-version
mismatch, for
libos.so. - -1282 — "Library API incompatibility found in libsql.so." Same class of library-version
mismatch, for
libsql.so.
The application's libgls.so doesn't match the version under $INFORMIXDIR/lib — recompile
against the correct INFORMIXDIR.