On Wed, Jan 26, 2011 at 17:09, Christoph Holtermann <[email protected]>wrote:
> Am 27.01.2011 02:40, schrieb Philip Tait: > > > > > > On Wed, Jan 26, 2011 at 15:18, John Ralls <[email protected] <mailto: > [email protected]>> 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*? _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
