Installing Python 3.1.2 from source, how do you resolve thesqlite3-dev dependency?

T

Trevor

Running ubuntu 9.04 "jaunty".

When I run make I get the following error:

Python build finished, but the necessary bits to build these
modules were not found:
_sqlite3


So the easy solution is to just install the missing dependency using
apt-get, "sudo apt-get -f install libsqlite3-dev" but I get the
following error:

The following packages have unmet dependencies:
libsqlite3-dev: Depends: libsqlite3-0 (= 3.6.10-1) but
3.6.10-1ubuntu0.2 is to be installed
E: Broken packages

I tried uninstalling "libsqlite3-0" but synaptic said many things
needed it (50+).

So now I am stuck. I can't install the missing dependency. And
therefore I can not install python 3.1.2.

**Any ideas on how to fix the missing libsqlite3-dev dependency?**
 
B

Benjamin Kaplan

Running ubuntu 9.04 "jaunty".

When I run make I get the following error:

   Python build finished, but the necessary bits to build these
modules were not found:
   _sqlite3


So the easy solution is to just install the missing dependency using
apt-get, "sudo apt-get -f install libsqlite3-dev" but I get the
following error:

   The following packages have unmet dependencies:
     libsqlite3-dev: Depends: libsqlite3-0 (= 3.6.10-1) but
3.6.10-1ubuntu0.2 is to be installed
   E: Broken packages

I tried uninstalling "libsqlite3-0" but synaptic said many things
needed it (50+).

So now I am stuck. I can't install the missing dependency. And
therefore I can not install python 3.1.2.

**Any ideas on how to fix the missing libsqlite3-dev dependency?**


Make sure that the jaunty-updates repository is enabled in Software
Sources. 3.6.10-1 is the latest version in the normal jaunty
repository, 3.6.10-1ubuntu0.2 is the latest version in the
jaunty-updates repo.

If that still doesn't work, just download the appropriate deb directly
from http://packages.ubuntu.com/jaunty-updates/libsqlite3-dev
 
T

Thomas Jollans

Running ubuntu 9.04 "jaunty".

When I run make I get the following error:

Python build finished, but the necessary bits to build these
modules were not found:
_sqlite3


So the easy solution is to just install the missing dependency using
apt-get, "sudo apt-get -f install libsqlite3-dev" but I get the
following error:

The following packages have unmet dependencies:
libsqlite3-dev: Depends: libsqlite3-0 (= 3.6.10-1) but
3.6.10-1ubuntu0.2 is to be installed
E: Broken packages

I tried uninstalling "libsqlite3-0" but synaptic said many things
needed it (50+).

So now I am stuck. I can't install the missing dependency. And
therefore I can not install python 3.1.2.

you can, in fact, install Python. It does not, as such, depend on
sqlite. You will of course be missing the sqlite module, but if you can
live without that, there's no problem.
**Any ideas on how to fix the missing libsqlite3-dev dependency?**

if there is no libsqlite3-dev package for
libsqlite3-0-3.6.10-1ubuntu0.2, then you could either

* find a copy of libsqlite3-0-3.6.10-1 (the version which
libsqlite3-dev appears to require), download it and downgrade
manually with dpkg -i

* extract the contents of the -dev package manually. Should work, but
you'll run into problems if you ever upgrade the system to a newer
ubuntu release.

* get the source package and build new packages from that. You'll
need to install build-essential and find a good howto somewhere.


Thomas
 
P

Philip Semanchuk

Running ubuntu 9.04 "jaunty".

When I run make I get the following error:

Python build finished, but the necessary bits to build these
modules were not found:
_sqlite3


So the easy solution is to just install the missing dependency using
apt-get, "sudo apt-get -f install libsqlite3-dev" but I get the
following error:

The following packages have unmet dependencies:
libsqlite3-dev: Depends: libsqlite3-0 (= 3.6.10-1) but
3.6.10-1ubuntu0.2 is to be installed
E: Broken packages

I tried uninstalling "libsqlite3-0" but synaptic said many things
needed it (50+).

So now I am stuck. I can't install the missing dependency. And
therefore I can not install python 3.1.2.

**Any ideas on how to fix the missing libsqlite3-dev dependency?**

Hi Trevor,
I'm a Mac guy using Python 2.x, but a solution that I found might work
for you too.

Python can link to SQLite statically or dynamically. I needed my
Python to use a specific (old) version of SQLite, different from the
one shipped with OS X. I downloaded the SQLite version I needed and
compiled it like this:

sudo ./configure --enable-threadsafe --enable-tempstore --enable-
shared=no --enable-static=yes

That created these static-friendly libs in /usr/local/lib:
libsqlite3.a
libsqlite3.la

So far, so good. Now comes the ugly part...I was unable to find a
configure/Makefile option to force Python to link SQLite statically. I
was working with Python 2.x, and maybe there's a way to do it that I
just didn't find, or maybe Python 3.x offers that option. The trick I
had to resort to was to temporarily rename all of the SQLite dynamic
libraries on my system and then rebuild Python. Since Python only
found the SQLite static libs, it linked them into the Python binary.
After that I could undo my renaming of the SQLite dynamic libs and
restore my system to normal. Good thing nothing was trying to load
those libraries while I had them renamed!

Obviously this is a crude process and there's probably a better way to
do it. In fact, I encourage you to look for a better way to do it and
let us know about it. That way I won't have to risk screwing up my OS
by renaming system libraries. =)

Good luck
Philip
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,584
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top