#35 make install fails to install sql.h

open
nobody
None
5
2013-02-13
2013-02-13
blentz
No

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

Discussion

  • blentz
    blentz
    2013-02-13

    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

     
  • blentz
    blentz
    2013-02-13

    ./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.