I can't find working libdbi version

Philip Tait philip at pjtait.org
Wed Jan 26 22:23:26 EST 2011


On Wed, Jan 26, 2011 at 17:09, Christoph Holtermann <c.holtermann at gmx.de>wrote:

> Am 27.01.2011 02:40, schrieb Philip Tait:
> >
> >
> > On Wed, Jan 26, 2011 at 15:18, John Ralls <jralls at ceridwen.us <mailto:
> jralls at ceridwen.us>> wrote:
> >
> >
> >     On Jan 26, 2011, at 3:59 PM, Christoph Holtermann wrote:
> >
> >     > Am 25.01.2011 17:54, schrieb John Ralls:
> >     >> On Jan 25, 2011, at 8:18 AM, Christoph Holtermann wrote:
> >     >>
> >     >>> Hello !
> >     >>>
> >     >>> The recent SVN Version got a test for libdbi versions with what
> gnucash doesn't
> >     >>> work. I have been using this non-stable combination for quite a
> while with only
> >     >>> few data loss ;-) I am now forced to change the libdbi which i
> have been trying
> >     >>> for quite some time yesterday but i can't make that error message
> disappear.
> >     >>>
> >     >>> I am using OpenSuSe 11.3 but before i used factory so my system
> may not be
> >     >>> clean. I tried the rpms i could find but i didn't find any that
> made it through
> >     >>> GnuCashs test and i was stuck with the error message.
> >     >>>
> >     >>> My database is MySql. SVN is 20166.
> >     >>>
> >     >>> Then i tried to compile libdbi and libdbi-devel myself. The
> current versions that
> >     >>> could be downloaded didn't go through either. But trying this i
> also got stuck
> >     >>> because GnuCash wasn't even able to parse the SQL. I guess that's
> because
> >     >>> the libraries were not found.
> >     >>>
> >     >>> Then i went to the developer versions of libdbi at cvs. Make
> check of libdbi-drivers
> >     >>> doesn't get through, breaks with
> >     >>>
> >     >>> make[3]: Entering directory `/usr/local/src/libdbi-drivers/tests'
> >     >>> gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include
> -I../tests/cgreen/include -I/usr/include -DDBDIR=\"/usr/var/lib/libdbi\"
> -DDBI_DRIVER_DIR=\"/usr/lib/dbd\" -g -MT test_dbi.o -MD -MP -MF
> .deps/test_dbi.Tpo -c -o test_dbi.o test_dbi.c
> >     >>> test_dbi.c:46:10: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
> ‘__attribute__’ before ‘dbi_instance’
> >     >>> ...
> >     >>> there come a lot of further errors.
> >     >>>
> >     >>> When i make and install them though at least GnuCash parses SQL
> correctly, so it uses the
> >     >>> libraries and i get through to this nice error message.
> >     >>> I got some confusion because i tried to compile and install
> different versions of libdbi. I think
> >     >>> i cleaned things up correctly though and when i use
> >     >>> strace gnucash
> >     >>> after searching different locations for libdbi like
> >     >>> ...
> >     >>> open("/usr/lib/sse2/libdbi.so.1", O_RDONLY) = -1 ENOENT (No such
> file or directory)
> >     >>> stat64("/usr/lib/sse2", 0xbf91a1b4) = -1 ENOENT (No such file or
> directory)
> >     >>> open("/usr/lib/libdbi.so.1", O_RDONLY) = 5
> >     >>> read(5,
> "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P:\0\0004\0\0\0"..., 512) =
> 512
> >     >>> ...
> >     >>> it reads the file /usr/lib/libdbi.so.1 which is a link to
> libdbi.so.1.1.0. And this should be the
> >     >>> correct file for the cvs version.
> >     >>>
> >     >>> It seems to me that i now use the most recent version of libdbi
> and libdbi-drivers and that doesn't
> >     >>> make it through the test. I tried "make debug" for both. It
> didn't help.
> >     >>>
> >     >>> By the way :
> >     >>>
> >     >>> make check for GnuCash stops with the following :
> >     >>> TEST: test-qof... (pid=19210)
> >     >>> /qof/qofbook: OK
> >     >>> /qof/qofinstance: **
> >     >>> ERROR:test-qofinstance.c:55:test_book_readonly: assertion failed:
> (!qof_begin_edit( fixture->instance ))
> >     >>> FAIL
> >     >>> GTester: last random seed: R02S89f22d5b966baeb8f7ef6e1fb67c2a4d
> >     >>> /bin/sh: Zeile 1: 19209 Beendet gtester --verbose test-qof
> >     >>> make[5]: *** [test] Fehler 143
> >     >>>
> >     >>> I don't know any further. Maybe someone can help ?
> >     >> Oops. The failing test is my fault; I took out what it tests and
> forgot to remove the test. I'll fix that today.
> >     >>
> >     >> In order to get libdbi to work, you have to edit configure and
> change the CFLAGS to not use -ffast-math or use "make debug" to build a
> debug library; the CFLAGS for debug don't include -ffast-math.
> Unfortunately, they wrote their configure to ignore CFLAGS passed in on the
> command line or in the environment.
> >     > make debug doesn't work for me...
> >     >
> >     > I tried some versions of libdbi. Combinations which let me come
> through to the error message
> >     > reporting the nonworking libdbi were :
> >     >
> >     > libdbi CVS & libdbi-driver CVS    (- the sqlite3 driver didn't
> compile here though, but i only need mysql so i don't care)
> >     > libdbi 0.8.4 & libdbi-drivers-0.8.3-1 ( compiles fine )
> >     >
> >     > (Other combinations stopped even before that. GnuCash told me that
> the url could not be parsed.)
> >     >
> >     >> Debian provides a prebuilt debug version (libdbi-debug). Perhaps
> Suse does too, and you could use that.
> >     > I didn't find something like that. I don't know if it would work if
> try to use debian binaries. I will do that tomorrow.
> >     > I hope i can use GnuCash once again ;-)
> >
> >     The debian binaries should work just fine... extracting them without
> the debian apt infrastructure might be a bit of a challenge.
> >
> >
> > 'alien' works well for this.  http://kitenet.net/~joey/code/alien/ <
> http://kitenet.net/%7Ejoey/code/alien/> . It's available on
> software.opensuse.org <http://software.opensuse.org>
> >
> >
> Yes, i found and tried. Converting actually works. I got rpms from libdbi0,
> libdbi0-devel, libdbd-mysql. And they even work some way. The problem
> is that the lock file of mysql is at different positions in debian and
> Opensuse so that it's not found and the database can't be opened.
>
> I will search if i find a package of opensuse that works and i want to know
> why make debug doesn't work.
>
>
Maybe it would help to inspect the contents for one of the gnucash-2.4.0
source RPMs for openSUSE - presumably they use similar versions of libdbi*?


More information about the gnucash-devel mailing list