For some reason, the make install process no longer installs sql.h on 2.3.1. It works fine on 2.3.0.
Only the first file, odbcinst.h, makes it into the destination include directory.
I can't seem to decipher what happened.
Making install in include
make[1]: Entering directory `/home/blentz/build/unixODBC-2.3.1/include'
make[2]: Entering directory `/home/blentz/build/unixODBC-2.3.1/include'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/opt/local/mysql/include" || .././install-sh -c -d "/opt/local/mysql/include"
.././install-sh -c -m 644 odbcinst.h odbcinstext.h sql.h sqlext.h sqltypes.h sqlucode.h autotest.h uodbc_stats.h uodbc_extras.h '/opt/local/mysql/include'
make[2]: Leaving directory `/home/blentz/build/unixODBC-2.3.1/include'
make[1]: Leaving directory `/home/blentz/build/unixODBC-2.3.1/include'
Making install in doc
[blentz@optaix53ts /home/blentz/build]$ ls -l /opt/local/mysql/include
total 272
drwxr-xr-x 2 root system 4096 Feb 12 22:26 mysql
-rw-r--r-- 1 root system 18278 Feb 12 23:20 odbcinst.h
drwxr-xr-x 2 root system 4096 Feb 12 22:15 openssl
-rw-r--r-- 1 root system 982 Feb 12 23:20 unixodbc_conf.h
-rw-r--r-- 1 root system 14351 Feb 12 22:13 zconf.h
-rw-r--r-- 1 root system 86076 Feb 12 22:13 zlib.h
2.3.0 looks like it uses a different copy of install-sh...
Making install in include
make[1]: Entering directory `/home/blentz/build/unixODBC-2.3.0/include'
make[2]: Entering directory `/home/blentz/build/unixODBC-2.3.0/include'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/opt/local/mysql/include" || ../libltdl/config/install-sh -c -d "/opt/local/mysql/include"
../libltdl/config/install-sh -c -m 644 odbcinst.h odbcinstext.h sql.h sqlext.h sqltypes.h sqlucode.h uodbc_stats.h uodbc_extras.h '/opt/local/mysql/include'
make[2]: Leaving directory `/home/blentz/build/unixODBC-2.3.0/include'
make[1]: Leaving directory `/home/blentz/build/unixODBC-2.3.0/include'
Making install in doc
./configure --enable-ltdl-install helps fix this problem.. but it still seems like odd behavior to me :-)
I get the same behavior on AIX 7. The install-sh script in the unixODBC directory runs but chokes on a list of multiple header files:
test -z "/usr/local/include" || ../libltdl/config/install-sh -c -d "/usr/local/include"
../libltdl/config/install-sh -c -m 644 odbcinst.h odbcinstext.h sql.h sqlext.h sqltypes.h sqlucode.h uodbc_stats.h uodbc_extras.h '/usr/local/include'
Only odbcinst.h is installed on 2.3.1, not the other header files. Interestingly enough this is not a problem for me either when building 2.3.0, here all the header files get installed.