Trunk and libdbi on win32

Derek Atkins warlord at MIT.EDU
Mon Aug 11 17:13:39 EDT 2008

Phil Longstaff <plongstaff at> writes:

> I've been trying to get trunk (and libdbi) to compile on win32.  Libdbi
> has binaries for windows, but they are for cygwin, not mingw.  OK.
> Download source for libdbi and libdbi-drivers.  First question: sqlite3
> only or mysql/pgsql as well (when compiling the drivers, you need to
> specify which drivers to build and where the db include/lib files are).

I think just SQLite3 is fine.

>  OK.  For now, sqlite3 only.  Download sqlite3 source.  Compiles.  DBD
> (libdbi driver) for sqlite3 doesn't compile.  There are 2 problems.  1)
> on mingw, "errno" is a #define for '*_errno()', and the sqlite3 driver
> uses the symbol "errno" in function prototypes.  OK.  Replace "errno"
> with "err_no".

You should send a bug report (and patch) upstream to them.

>  2) sqlite3 driver uses asprintf() which is like
> sprintf() but it malloc's the string.   Not available on win32.  For
> now, I'll replace with sprintf() to see if I can get it to work.

If anything you should at least use snprintf so you wont
overwrite memory and you'll be able to notice if the buffer
you pre-allocate is too short.

Too bad you can't just use g_strdup_printf()

> Phil


       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL:    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available

More information about the gnucash-devel mailing list