I have filed bug: https://bugs.gnucash.org/show_bug.cgi?id=799682
and pull request: https://github.com/Gnucash/gnucash/pull/2144

Regards,

Sherlock

On 10/29/25 8:02 PM, Sherlock wrote:
I've been trying to understand why this hasn't been an issue on the other platforms that have been on libdbi 0.9.1 for sometime.  The generic bug was introduced 2 years ago (commit b011c81). I suspect the issue isn't seen on Linux where libdbi is installed in the system location or on a Mac build machine.  I think the issue should appear on non-build Macs but, of course, the issue won't be apparent to a user unless they aren't using the xml format.

Regards,

Sherlock

On 10/29/25 6:54 PM, Sherlock wrote:
I maybe wrong about the c:\libdbi\lib\dbd folder as there are compile time definition that will override the location which appears to be something like /mingw32/lib/dbd but that should still typically miss in a typical user's gnucash installation.

Setting GNC_DBD_DIR to something like C:\Program Files (x86)\gnucash\lib\dbd should work around the issue.

Regards,

Sherlock

On 10/29/25 4:32 PM, Sherlock wrote:
Hi John,

I suspect the Windows nightly builds have not been properly supporting databases since libdbi was updated to 0.9.1 on October 5th unless the drivers are in the c:\libdbi\lib\dbd folder or the folder to which the GNC_DBD_DIR environment variable is set.

For example, attempt to save as sqlite3.

It appears there is a generic bug in gnc_module_init_backend_dbi() when HAVE_LIBDBI_R is defined.  Specifically, when the initial dbi_initialize_r() returns no drivers, the dbi_instance variable is still set.

So, instead of:

#if HAVE_LIBDBI_R
         if (dbi_instance)
             return;
#endif

the code should be:

#if HAVE_LIBDBI_R
         if (dbi_instance)
         {
             dbi_shutdown_r (dbi_instance);
             dbi_instance = nullptr;
         }
#endif


Regards,

Sherlock



_______________________________________________
gnucash-user mailing list
[email protected]
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