sql.h header file missing though unixODBC is installed

38,821

You need to install the unixodbc-dev package to get the development header files.

sudo apt-get install unixodbc-dev

The -dev packages contain the require header files required to compile and build programs using these headers to make calls to the library. The library files themselves would be part of the regular package i.e. unixodbc in your case.

If you want to know which package provides a certain file, you could use apt-file:

sudo apt-file update
sudo apt-file find sql.h
Share:
38,821

Related videos on Youtube

Richard
Author by

Richard

Updated on July 09, 2022

Comments

  • Richard
    Richard almost 2 years

    I am on an up-to-date Ubuntu 12.04 system. I have unixodbc (v2.2.14 from ubuntu repos), MySQL and its relevant drivers installed. Also connected to a valid DSN. Verified by issuing isql DBName UName passwd.

    I am trying to compile a C application that interacts with the database using ODBC. Almost everywhere I searched seemed to indicate that I should have "sql.h" installed somewhere. A find / -iname sql.h -print showed I don't have it.

    So my question is: where is it? Did something go wrong with the install (no errors were reported though)? And what steps do you recommend? Reinstallation? Compilation from source code (the latest version?)?

  • Richard
    Richard about 11 years
    Thanks a lot Tuxdude. I knew it was something quite trivial. And thanks for the tip on apt-file. Makes searching easier
  • Richard
    Richard about 11 years
    As an aside, for future viewers of the question pkg-config can help find the relevant include directories, and libraries for use at compile time and link time. Refer the man page for more details. Note that it must "know" about them. Library packages from repos usually are configured to install in manner so that it makes "known" the details to pkg-config
  • Ross Rogers
    Ross Rogers almost 10 years
    FYI, the result of running sudo apt-file find sql.h on Ubuntu 14.04 contains this line unixodbc-dev: /usr/include/sql.h
  • Rγσ ξηg Lιαη Ημ
    Rγσ ξηg Lιαη Ημ almost 8 years
    I faced same error on centOS 7 and resolved by yum install unixODBC* which has refered to stat.ethz.ch/pipermail/r-help/2010-April/235867.html
  • Diego Jancic
    Diego Jancic over 7 years
    Just for reference, a similar error is reported here: stackoverflow.com/a/31360218/72350, and the solution described there also works for AWS Elastic Beanstalk: sudo yum install unixODBC-devel