How can I find out the Gramps version the .grdb can be opened with

I have an old .grdb file (Berkeley DB (Btree, version 9))
How can I find out which GRAMS version I need to open it?
1.x or 2.x? It was created in the year 2009 or before that.

I’ve tried to open it with GRAMPS 2.2.3 installed on Debian Etch (VirtualBox).
The files I’ve tried to open are here
https://pyedu.hu/itt/

Also the picture about the error message.

The last line can’t be fully seen on the picture and contains Hungarian part so I write/translate it here.

DBInvalidArgError: (22, ‘invalid parameter – /home/ha/horvath22_5.grdb unexpected file type or format’)

My friend tried to open it with the version 2.2.9 and he got the error message:

file xx.grdb can’t be opened, ‘module’ object has no attribute DB_LOG_AUTOREMOVE

What I know that I’m there in the 2.2.3 as a Hungarian translator, so I’ve used versions before that.

It has to be 2.x because 1.x didn’t have a database. All 2.x grdb files share the same schema.

Opening your file using either 2.2.3 or 2.2.9 should work. We normally recommend trying with 3.0 which is able to read grdb files.

Unfortunately I don’t have a copy of python2 on my machine, otherwise I’d try and load the file for you.

1 Like

No, the following won’t work if opening .grdb files needs an earlier version 3 than the 3.4.x version. The earliest of GrampsPortable is the 3.2.5 version.
I see you’re on Debian Etch but…

If you have a Windows machine available, you could expand the 3.4.9 version (from the GrampsPortable archive) onto a USB flashdrive. That would have an added benefit. You could copy the database onto the USB flashdrive too. So rather than endangering the original, you recover from a copy.

You will probably have to make a backup (without media) on the windows box, and re-import it to a newer version of Gramps on the original machine. The file paths should reconnect to the media items on the original machine. (Run the Media verify tools to make certain they are reconnected.)

Finally, do a backup WITH media to have a more portable & useful archive.

1 Like

If you search the forum for GRDB, you will find some other threads about this, but I can’t open your files with the version that I used then, for a fellow Dutchman, so you may need another version of Gramps, maybe even 3.0, if you can run that in Debian Etch.

I ran one test with Ubuntu 14, and Gramps 2.10 or something.

Note that we also have old Live CD’s with Gramps, but I found that most of those are broken.

I was able to open the first file but not the second.
I got the following error with the second file (horvath22_5.grdb):
db5.3_verify: BDB3037 horvath22_5.grdb: file size not a multiple of the pagesize

I can send you the first file in .gramps format.

1 Like

@SNoiraud just curious. What version of Gramps did you use for that? And on what Linux does that run?

I tried the 1st file with Gramps 2.something that I put on version 4 of the Linux Live CD, and it failed. And at the moment, I can’t even find a version of that live CD that can boot. When I try to mount the ISO files, in modern Linux or Windows, they all fail, and that means that VirtualBox won’t find anything reasonable on them either.

I use a trusty Ubuntu 14.04.5 in a Virtualbox VM (6.1.38)
Gramps is either version 2.2.10 or 3.04
For this file, I used version 2.2.10.
I used the tar version of Gramps.

3 Likes

Does that mean that you ran the full configure up to make, and then ran Gramps from the command line (terminal)? And if so, do you have more detailed instructions for that?

I had a few problem with the dependencies, and gave up, because you were already able to help with one file, and I assumed that if you have problems with the other, I will have them too.

For future events however, I think that it would be nice to have a proven ‘script’ that anyone with some Linux experience can run.

I use the last 2.2 version and 3.0 version which are not available with the ubuntu packages.
I don’t compile gramps.
I only run “python src/gramps.py” in the gramps-2.2 directory. It is the same for gramps 3.0.

2 Likes

As Serge managed to “decrypt” one of my files, probably I won’t continue the experiments, but I write a summary about my experiences.

As I don’t want to use my Windows laptop (my work laptop) to experiment, and the Debian Lenny in virtualbox is hard to use (mouse is better now, after I set PS2 mouse, but far from perfect), I’ve tried on my main machine without success so far. I have Fedora 38. I had Python 2.7 on my laptop. I’ve downloaded gramps-3.0.4.tar.gz. The ./configure command hasn’t succeed.

(...)
checking for xgettext... (cached) /usr/bin/xgettext
checking for catalogs to be installed...  hu zh_CN cs da de es fr it nb nl nn pl pt_BR ro ru sv eo fi lt sk tr bg hr sl ca
checking for a Python interpreter with version >= 2.5... python2
checking for python2... /usr/bin/python2
checking for python2 version... 2.7
checking for python2 platform... linux2
checking for python2 script directory... ${prefix}/lib/python2.7/site-packages
checking for python2 extension module directory... ${exec_prefix}/lib64/python2.7/site-packages
checking for sh... /usr/bin/sh
checking Python bindings for gtk2.10 (pygtk2>=2.10.0)... 2.28.7
checking Python bindings for gnome... configure: error:
**** The python bindings for gnome2 (gnome2-python) could not be found.

even if I have installed these packages and some more:

gnome-python2-2.28.1-14.x86_64
gnome-python2-canvas-2.28.1-14.x86_64
gnome-python2-gconf-2.28.1-14.x86_64

I always tried to solve the step where configure failed, but this was the point where I stuck. At one step I needed to install rpmsphere-release-38-1.noarch.rpm. If I remember correctly that allowed me to install the three packages above.

OK, thanks. I had the same problems here.

Thanks for the hint to just run ‘python src/gramps.py’. I didn’t work at first, but it did, after I installed glade.

Thank you Serge again. I’ve managed to fix the image paths too.

2 Likes

I got similar results by just trying to open the tables within the database files. I read the schema version and table sizes from one file.

Schema version: 12
People: 346
Families: 126
Events: 295
Places: 26
Repositories: 0
Sources: 2
Media: 147

I couldn’t open the metadata table in the other file.

Some time in October 2007 I produced a Gramps document with information about my family, I would like to extend it now - but I cannot open the file with current versions of the software.

Having browsed some related threads on the forum, I tried

  • LiveCD with Gramps 3.2.5-1 - the file could not be imported.

  • LiveCD with genealogy 4.0 didn’t boot at all (virt-manager and virtualbox say this is not a valid ISO)

  • Livecd with genealogy 2 loads correctly and I can start Gramps 2.2.10-1 - but it fails to import the file

The file itself is a .grdb and is binary. I was wondering whether there are any markers in the file itself (e.g., in the header or at the end of the file) that I can use to understand what version was used to create it. Once I know that, I could focus my energy on re-creating an environment for that exact version.

As a last resort option, is there a tool than can visualize the pure data structures inside the bsddb file? Perhaps I could try to recreate it from scratch, if I had the information itself in a programmer-readable (if not human-readable) form.

p.s. as a new user I cannot put two screenshots in one message, so here’s a follow-up with the error message from the oldest version I could run (2.2.10-1)

To begin make backup copies of those database files. Database tools tend to modify files as they attempt to recover. So each failed atempt leaves the file a bit worse for the wear.

My approarch would be to download the file to a couple USB thumbdrives (one backup, 1 WIP) and the PortableApps 3.4.9 PortableGramps version. Then go to someplace with a Windows OS box (like a public library) to do the recovery.

https://sourceforge.net/projects/portableapps/files/Gramps%20Portable/GrampsPortableLegacy3_3.4.9.paf.exe

Once the database was read (not imported, I would make a backup to a .gramps XML file (without media) and take that back to the target machine. (You have current anti-malware protection, right?) Open a curent version of Gramps an import the XML file. The media file paths that would have been broken on the public library computer) should be same compatible.

Make a full backup WITH media.

It is a good practice to review your media paths. Can (should?) the media files be consolidated to a common Relative Path Folder? Having media files scattered hither and yon makes them more difficult to archive.

Thank you for your feedback. I do have a Windows machine at hand and I tried the portable legacy version you referenced - but I also experienced an error (it couldn’t open a temporary file).

I’d like to double-check one part of your reply: “once the database was read (not imported)” - I did attempt to import it, I didn’t see another option called “read”. Could you be more specific about this?

Alright, I just realized what my mistake was. I was importing the .grdb file instead of the .gramps one. Once I did that - I was able to load all the people using the version referenced above by emyoulation.

Thanks again and sorry for the false alarm.

2 Likes