[gdal-dev] Compiling GDAL 2.2.2 with Informix (IDB) driver on Ubuntu 16.04

Roel Huybrechts roel at huybrechts.re
Fri Sep 29 01:49:55 PDT 2017


Dear list,

We'd like to use GDAL in combination with the Informix (IDB) driver to
copy data from an Informix database.

After applying some changes regarding linking [1], we're able to compile
GDAL + IDB driver on Debian Stretch and Testing and on Ubuntu 14.04.
However, it doesn't work on Ubuntu 16.04, which happens to be what we're
using on our servers..

The error on Ubuntu 16.04 seems to be related to the IDB driver:
compiling GDAL without IDB works fine.

The message we're seeing is:
make[1]: Entering directory '/home/roel/software/gdal_compile/gdal/apps'
/bin/bash /home/roel/software/gdal_compile/gdal/libtool --mode=link    
g++ -std=gnu++11  -L/opt/informix/lib/ -L/opt/informix/lib/esql -lifsql
-lifasf -lifgen -lifos -lifgls -lifglx /opt/informix/lib/esql/checkapi.o
-L/opt/informix/lib/dmi -lifdmi -L/opt/informix/lib/c++ -lifc++ -lcrypt
gdalinfo_bin.lo  /home/roel/software/gdal_compile/gdal/libgdal.la  -o
gdalinfo
libtool: link: g++ -std=gnu++11 /opt/informix/lib/esql/checkapi.o
.libs/gdalinfo_bin.o -o .libs/gdalinfo  -L/opt/informix/lib/
-L/opt/informix/lib/esql -L/opt/informix/lib/dmi -L/opt/informix/lib/c++
-lcrypt /home/roel/software/gdal_compile/gdal/.libs/libgdal.so
-L/usr/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial -ljson-c -lfreexl
-lqhull -lgeos_c -lwebp /usr/lib/x86_64-linux-gnu/libsqlite3.so -lodbc
-lodbcinst -lkmlbase -lkmldom -lkmlengine -lkmlxsd -lkmlregionator
/usr/lib/x86_64-linux-gnu/libexpat.so -lxerces-c -lopenjp2 -lnetcdf
-lhdf5_hl -lsz -lhdf5 /usr/lib/libmfhdfalt.so /usr/lib/libdfalt.so
-logdi -lgif -ljpeg -lgeotiff -ltiff -lpng -lpq -lz -lpthread -lrt -ldl
-lpcre /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so -lxml2 -lifsql
-lifasf -lifgen -lifos -lifgls -lifglx -lifdmi -lifc++ -pthread 
/opt/informix/lib/c++/libifc++.so: undefined reference to `mi_cleanup'
(et cetera, the list of undefined references to informix libs goes on)

Running ldd also reveals:
$ ldd .libs/libgdal*.so
(...)
libifc++.so => not found
(...)

If anyone can spot an error we've made, or has a hint on how to proceed
with debugging that would be great!

Thanks in advance!
Roel

[1]:
https://github.com/johanvdw/gdal/commit/92fce0db7c61d907699135ea27032be3b72645e6


More information about the gdal-dev mailing list