Informix Error -1280: Library API incompatibility found in libgen.so.
Cause and resolution
Library API incompatibility found in libgen.so.
The libgen.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 libgen.so shared library.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-1280 fires when the libgen.so shared library the client application was compiled against is
incompatible with the version present in $INFORMIXDIR/lib — per the official guidance, this is
a build/link-time version mismatch.
- The application compiled against a different
libgen.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 newlibgen.soshared library, per the official guidance — this is the documented, specific fix.
Examples
Recompiling against the correct library
$ export INFORMIXDIR=/opt/informix
$ make clean && make
Diagnostic Checks
- Check which
libgen.soversion the application was originally compiled against, versus the version currently under$INFORMIXDIR/lib, and recompile if they differ.
Related Errors / Related Topics
- -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. - -1283 — "Library API incompatibility found in libgls.so." Same class of library-version
mismatch, for
libgls.so.
The application's libgen.so doesn't match the version under $INFORMIXDIR/lib — recompile
against the correct INFORMIXDIR.