Informix Error -1282: Library API incompatibility found in libsql.so.
Cause and resolution
Library API incompatibility found in libsql.so.
The libsql.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 libsql.so shared library.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-1282 fires when the libsql.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, for a different shared
library.
- The application compiled against a different
libsql.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 of the newlibsql.soshared library, per the official guidance.
Examples
Recompiling against the correct library
$ export INFORMIXDIR=/opt/informix
$ make clean && make
Diagnostic Checks
- Check which
libsql.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. - -1283 — "Library API incompatibility found in libgls.so." Same class of library-version
mismatch, for
libgls.so.
The application's libsql.so doesn't match the version under $INFORMIXDIR/lib — recompile
against the correct INFORMIXDIR.