You are not logged in.

#1 2011-12-02 12:41:31

jjalocha
Member
Registered: 2011-06-11
Posts: 12

[SOLVED] Python + GDBM backwards incompatibility on upgrade

Since the last Python and GNU DMB upgrade (both happened at the same time) I can't access my old GDBM databases through Python. Since I am unable to discover the cause of the problem, I am posting here, maybe someone can point me to the right direction.

With the old versions of Python and GDBM (python-3.2.2-1, gdbm-1.8.3-9) I can create a file (and read it):

>>> import dbm.gnu
>>> db = dbm.gnu.open('oldpy-olddb.db', 'c')
>>> db['key'] = 'value'
>>> db.close()

With the new versions of Python and GDBM (python-3.2.2-2, gdbm-1.10-1) I can create a file and then read it. But I can't read the old file:

>>> import dbm.gnu
>>> db = dbm.gnu.open('oldpy-olddb.db')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
_gdbm.error: [Errno 22] Invalid argument

When I try to upgrade just the GDBM version (gdbm-1.10-1) and keep the old Python version (python-3.2.2-1), I can't import GDBM:

>>> import dbm.gnu
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.2/dbm/gnu.py", line 3, in <module>
    from _gdbm import *
ImportError: libgdbm.so.3: cannot open shared object file: No such file or directory

When I try to upgrade only Python (python-3.2.2-2) and keep the old GDMB version (gdbm-1.8.3-9), I can't impor GDBM either:

>>> import dbm.gnu
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.2/dbm/gnu.py", line 3, in <module>
    from _gdbm import *
ImportError: libgdbm.so.4: cannot open shared object file: No such file or directory

Does anyone understand if this problem is caused somewhere in Arch, or where I should file a bug report or ask for help?

Thanks!
-Jerzy

Last edited by jjalocha (2011-12-02 13:42:46)

Offline

#2 2011-12-02 13:41:53

jjalocha
Member
Registered: 2011-06-11
Posts: 12

Re: [SOLVED] Python + GDBM backwards incompatibility on upgrade

I just discovered that the new GDBM version ships with some command-line utilities that were not available in the old version. 'testgdbm' shows me that the new version apparently can't deal with the old file format.

Offline

Board footer

Powered by FluxBB