What are sqlite development headers and how to install them?

Verrtex picture Verrtex · Sep 22, 2009 · Viewed 16.8k times · Source

I am trying to install pysqlite and have troubles with that. I found out that the most probable reason of that is missing sqlite headers and I have to install them.

However, I have no ideas what these headers are (where I can find them, what they are doing and how to install them).

Can anybody, pleas, help me with that?

Answer

DigitalRoss picture DigitalRoss · Sep 22, 2009

debian/ubuntu:

$ apt-get install libsqlite3-dev # or rpm -i sqlite-devel-something.rpm

I think a number of interpreters just recompile their small connection libraries on installation, but to do that they need the C .h files in addition to the library to link against. You may already have the library, because something else depended on it, but you don't necessarily have the dev package, which is kind of half-way between source and binary.

Part of it is straightforward, if you are going to develop with a library you need its interface headers.

But I think something more happened, at first, people tried all-source and all-binary distributions, but the all-binary ones were vulnerable to dependency hell, and the all-source ones were overkill. I think now that an interesting compromise is in use, a semi-source distribution where a program links to installed libraries by recompiling those parts of it that link to extension libraries. This makes a lot of sense with interpreters where most of the system can arrive in binary but the extension modules are dynamically loaded and compiled for the installed system. I think.