On 7/13/23 8:55 AM, john wrote:


On Jul 13, 2023, at 01:34, Tomer Altman <m...@tomeraltman.net> wrote:

On 7/12/23 6:26 PM, john wrote:


On Jul 12, 2023, at 16:16, Tomer Altman <m...@tomeraltman.net> wrote:

Hi everyone,

Due to filesystem errors, I had to reinstall MacOS on my 2015 Macbook Air (current OS version: Monterey 12.6.7). After doing so, and restoring my files from a TimeMachine backup using Migration Assistant, I started getting this error when trying to open my accounting file:

"No suitable  backend was found for <FILE>."

(where "<FILE>" is a stand-in for the actual file name)

I was at the time using a version of GnuCash from December 2022. I then reinstalled using the installer available from gnucash.org (current version: "5.3+(2023-06-26)" ). Unfortunately, the error persists.

Looking at this error message in the mailing list archives, it seems like this has something to do with using the SQLite back-end. I looked at the 'environment' text file, and it is implementing already the environment variable recommended as a fix:

GNC_DBD_DIR={SYS_LIB}/dbd

It seems like my install is still unable to find the libraries that it needs, though.

It's unclear to me how to diagnose which version of the back-end my file is using, since I cannot open it. Using 'file' and 'head' shows that it is not XML, and I am unable to decompress the file using Gzip. I'm also unable to open it using the sqlite3 command line tool.

So, two questions:

1. What's the correct way to verify the back-end type using something other than GnuCash itself?

2. What is wrong with my fresh install that is preventing me from opening up the file?

Thanks in advance for any and all advice and assistance!

If it's a SQLite file you can open it with sqlite3, provided by macOS. Just open Terminal and run
   sqlite3 /path/to/my/gnucash/file
You can use the `.tables` command to list the tables and `.schema <tablename>` to show the structure and compare it with https://wiki.gnucash.org/wiki/SQL.

99% of the time when users report this problem it's because they're trying to open a log file or a .gcm file instead of their actual book.

Regards,
John Ralls

Hi John,

Thank you very much for taking the time to reply. I appreciate it.

I've tried doing what you are suggesting. Let's say that my "<FILE>" name is "foo.gnucash". When I type the following:

sqlite3 foo.gnucash

> .tables

I get:

"Error: file is not a database"

I thought to myself, "Perhaps the SQLite3 file was corrupted?" So I went to a TimeMachine backup of the directory from April (before any issues with my laptop), and copied over foo.gnucash to a temporary directory. This file would open successfully with GnuCash. Using the command line, I see that 'file' correctly identifies it as a gzip compressed file.

So it seems that this was an issue with the foo.gnucash file getting corrupted, perhaps from the filesystem errors that I was experiencing. Thanks for prompting me to debug this further. I'll restore my file using the *.gnucash backup files, and by adding in the relevant log files.

If I may be so bold as to suggest a UI improvement: Telling the user "No suitable backend was found for <FILE>" implies that the file is fine, it's just that there's no back-end to support it. That impression was bolstered by the mailing list discussion of missing library paths. I'd suggest wording that makes it clear that the *FILE* is the issue, as in it's either the wrong type, or it is corrupted. Perhaps, "<FILE> is not a recognized GnuCash formatted file."


Tomer,

Good that you sorted it. Note though that if it's gzip-compressed it's an XML file, not a sqlite3 database. Does `file` on the apparently corrupted gnucash file claim that it's a sqlite3 database?

Regards,
John Ralls


When I use the `file` command on the corrupted file, it just reports it as "data". It's a binary file, but not recognized as being in Gzip format.

~T

--
Please do not send me sensitive information (e.g., passwords, personal details, 
financial/health information) via email, as it is not secure.
Please contact me to determine the best way to transfer sensitive information 
safely. Thank you!

_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to