On 7/14/23 12:15 PM, john wrote:
On Jul 13, 2023, at 23:52, Tomer Altman <m...@tomeraltman.net> wrote:
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.
OK, it probably lost some bits from its header, and maybe some other places
too. Good thing that you have backups!
Regards,
John Ralls
Yes, TimeMachine backups, plus GnuCash's backup files, saved the day!
Thanks again for your help,
~Tomer
--
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.