"No DBD drivers found" warning when running make check

John Ralls jralls at ceridwen.us
Fri Feb 4 09:49:37 EST 2011


On Feb 3, 2011, at 8:56 PM, Bill Hammond wrote:

> On 02/02/2011 08:35 PM, John Ralls wrote:
>> On Feb 2, 2011, at 1:05 PM, Bill Hammond wrote:
>> 
>>> Hi Tommy!
>>> 
>>> On 01/31/2011 11:49 PM, Tommy Trussell wrote:
>>>> On Mon, Jan 31, 2011 at 9:36 PM, Bill Hammond <ka1ssr at gmail.com> wrote:
>>>>> Hello!
>>>>> 
>>>>> I am having trouble running make check on r20217.  Here's what's happening:
>>>>> 
>>>> ...
>>>> 
>>>>> I'm running Ubuntu 10.10.  I checked and the dbd drivers have been
>>>>> installed in /usr/lib/dbd.
>>>> I just happened to check out and build r20217 this afternoon on this
>>>> Ubuntu 10.04 box, and it worked fine.
>>>> 
>>>> I did go through all the steps exactly as described at
>>>> http://wiki.gnucash.org/wiki/Building#Ubuntu_10.04_LTS_.28Lucid_Lynx.29
>>>> 
>>>> so if you used different ./configure parameters that might explain why
>>>> mine worked and yours didn't... ?
>>> I took the scorched earth approach by starting with a clean slate.  I
>>> deleted my ~/development/gnucash installation and started at the
>>> beginning of the procedure in the wiki.  I then checked out r20224,
>>> executed the time honoured ./autogen.sh / ./configure
>>> --prefix=/home/ka1ssr/unstable/gnucash --enable-debug --enable-doxygen
>>> --enable-error-on-warning --enable-compile-warnings / make all install. 
>>> Now I get this:
>>> 
>>> ...
>>> 
>>> make[5]: Entering directory
>>> `/home/ka1ssr/development/gnucash/src/backend/dbi'
>>> /bin/bash ../../../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H
>>> -I. -I../../.. -DG_LOG_DOMAIN=\"gnc.backend.dbi\"   -I.. -I../..
>>> -DLOCALE_DIR=\""/home/ka1ssr/unstable/gnucash/share/locale"\"
>>> -I../../../src/backend -I../../../src/backend/sql -I../../../src/debug
>>> -I../../../src/engine -I../../../src/app-utils -I../../../src/core-utils
>>> -I../../../lib/libc -I../../../src/libqof/qof -pthread
>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DORBIT2=1
>>> -pthread -I/usr/include/gconf/2 -I/usr/include/orbit-2.0
>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -Werror
>>> -Wdeclaration-after-statement -g  -g  -Wall -Wunused
>>> -Wmissing-prototypes -Wmissing-declarations  -Wno-unused -MT
>>> gnc-backend-dbi.lo -MD -MP -MF .deps/gnc-backend-dbi.Tpo -c -o
>>> gnc-backend-dbi.lo gnc-backend-dbi.c
>>> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../..
>>> -DG_LOG_DOMAIN=\"gnc.backend.dbi\" -I.. -I../..
>>> -DLOCALE_DIR=\"/home/ka1ssr/unstable/gnucash/share/locale\"
>>> -I../../../src/backend -I../../../src/backend/sql -I../../../src/debug
>>> -I../../../src/engine -I../../../src/app-utils -I../../../src/core-utils
>>> -I../../../lib/libc -I../../../src/libqof/qof -pthread
>>> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DORBIT2=1 -pthread
>>> -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0
>>> -I/usr/lib/glib-2.0/include -Werror -Wdeclaration-after-statement -g -g
>>> -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wno-unused
>>> -MT gnc-backend-dbi.lo -MD -MP -MF .deps/gnc-backend-dbi.Tpo -c
>>> gnc-backend-dbi.c  -fPIC -DPIC -o .libs/gnc-backend-dbi.o
>>> mv -f .deps/gnc-backend-dbi.Tpo .deps/gnc-backend-dbi.Plo
>>> make[5]: *** No rule to make target
>>> `../../../src/app-utils/libgncmod-app-utils.la', needed by
>>> `libgncmod-backend-dbi.la'.  Stop.
>>> make[5]: Leaving directory
>>> `/home/ka1ssr/development/gnucash/src/backend/dbi'
>>> make[4]: *** [all-recursive] Error 1
>>> make[4]: Leaving directory
>>> `/home/ka1ssr/development/gnucash/src/backend/dbi'
>>> make[3]: *** [all-recursive] Error 1
>>> make[3]: Leaving directory `/home/ka1ssr/development/gnucash/src/backend'
>>> make[2]: *** [all-recursive] Error 1
>>> make[2]: Leaving directory `/home/ka1ssr/development/gnucash/src'
>>> make[1]: *** [all-recursive] Error 1
>>> make[1]: Leaving directory `/home/ka1ssr/development/gnucash'
>>> make: *** [all] Error 2
>>> 
>>> Thanks for your help with this.
>> Sorry, that's my fault. When I moved gnc-locale-utils from app-utils to core-utils (to correct exactly this problem) I failed to change backends/dbi/Makefile.am. If you feel up to it, you can do so yourself (delete line 15 and change app-utils to core-utils in line 36). I'll check in a fix in a bit.
>> 
>> Regards,
>> John Ralls
>> 
> Success!  Well...sort of.  I updated to r20228 which fixed the
> Makefile.am issue and got rid of a majority of the "no DBD drivers
> found" warnings.  There are still warnings when we get to the dbi checks.
> 
> ...
> 
> libtool: link: gcc -I../../../../lib/libc -I../../../../src
> -I../../../../src/core-utils -I../../../../src/gnc-module
> -I../../../../src/test-core -I../../../../src/engine
> -I../../../../src/engine/test-core -I../../../../src/libqof/qof
> -I../../../../src/backend/sql -DTEST_MYSQL_URL=\"\"
> -DTEST_PGSQL_URL=\"\" -pthread -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/include -pthread -DORBIT2=1 -pthread
> -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/include -Werror -Wdeclaration-after-statement -g -g
> -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wno-unused
> -g -o .libs/test-load-backend test-load-backend.o 
> ../../../../src/test-core/.libs/libtest-core.a
> ../../../../src/gnc-module/.libs/libgnc-module.so
> ../../../../src/engine/.libs/libgncmod-engine.so
> ../../../../src/engine/test-core/.libs/libgncmod-test-engine.a
> /home/ka1ssr/development/gnucash/src/engine/.libs/libgncmod-engine.so
> /home/ka1ssr/development/gnucash/src/gnc-module/.libs/libgnc-module.so
> /home/ka1ssr/development/gnucash/src/core-utils/.libs/libgnc-core-utils.so
> /usr/lib/libgconf-2.so /usr/lib/libguile.so /usr/lib/libgmp.so -lcrypt
> /usr/lib/libltdl.so -ldl
> /home/ka1ssr/development/gnucash/src/libqof/qof/.libs/libgnc-qof.so
> /usr/lib/libgobject-2.0.so /usr/lib/libgthread-2.0.so
> /usr/lib/libgmodule-2.0.so -lrt /usr/lib/libglib-2.0.so
> ../../../../src/core-utils/.libs/libgnc-core-utils.so
> ../../../../src/libqof/qof/.libs/libgnc-qof.so
> ../../../../src/backend/dbi/test/.libs/libgncmod-test-dbi.a
> ../../../../src/backend/sql/.libs/libgnc-backend-sql.so
> ../../../../lib/libc/.libs/libc-missing.a -lpthread -lm -pthread
> -Wl,-rpath -Wl,/home/ka1ssr/unstable/gnucash/lib -Wl,-rpath
> -Wl,/home/ka1ssr/unstable/gnucash/lib/gnucash
> make[6]: Leaving directory
> `/home/ka1ssr/development/gnucash/src/backend/dbi/test'
> make  check-TESTS
> make[6]: Entering directory
> `/home/ka1ssr/development/gnucash/src/backend/dbi/test'
> * 20:31:53  WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No
> DBD drivers found
> Using filename: /tmp/test-qoIqq7
> Testing sqlite3
> * 20:31:53  WARN <gnc.backend.dbi> Session Error: 3,
> FAILURE First DB Session Creation Failed test-dbi-stuff.c:181
> Testing safe save sqlite3
> * 20:31:54  WARN <gnc.backend.dbi> Session Error: 3,
> FAILURE DB Session Creation Failed test-dbi-stuff.c:241
> /bin/bash: line 5: 19555 Segmentation fault     
> GNC_ACCOUNT_PATH=../../../../accounts/C SRCDIR=.
> GNC_MODULE_PATH="../../../../src/engine/.libs:${GNC_MODULE_PATH}"
> GUILE_LOAD_PATH="../../../../src/engine:${GUILE_LOAD_PATH}"
> LD_LIBRARY_PATH="../../../../src/engine/.libs:../../../../src/gnc-module/.libs:../../../../src/core-utils/.libs:../../../../src/libqof/qof/.libs:${LD_LIBRARY_PATH}"
> DYLD_LIBRARY_PATH="../../../../src/engine/.libs:../../../../src/gnc-module/.libs:../../../../src/core-utils/.libs:../../../../src/libqof/qof/.libs:${DYLD_LIBRARY_PATH}"
> ${dir}$tst
> FAIL: test-dbi-basic
> * 20:31:55  WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No
> DBD drivers found
> Using filename: /tmp/test-idgDGD
> Testing sqlite3
> * 20:31:55  WARN <gnc.backend.dbi> Session Error: 3,
> FAILURE First DB Session Creation Failed test-dbi-stuff.c:181
> TEST_MYSQL_URL=''
> TEST_PGSQL_URL=''
> Executed 1 test. There was 1 failure.
> FAIL: test-dbi
> * 20:31:56  WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No
> DBD drivers found
> Using filename: /tmp/test-75kpZ8
> Testing sqlite3
> FAILURE TaxTable lists match test-dbi-stuff.c:55
> FAILURE Customer lists match test-dbi-stuff.c:55
> FAILURE Employee lists match test-dbi-stuff.c:55
> You may ignore the warning about the lock file having no entries: We
> had to ignore locking to run two sessions on the same database
> Executed 7 tests. There were 3 failures.
> FAIL: test-dbi-business
> * 20:31:58  WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No
> DBD drivers found
> Executed 1 test. All tests passed.
> PASS: test-load-backend
> ==========================================
> 3 of 4 tests failed
> Please report to gnucash-devel at gnucash.org
> ==========================================
> make[6]: *** [check-TESTS] Error 1
> make[6]: Leaving directory
> `/home/ka1ssr/development/gnucash/src/backend/dbi/test'
> make[5]: *** [check-am] Error 2
> make[5]: Leaving directory
> `/home/ka1ssr/development/gnucash/src/backend/dbi/test'
> make[4]: *** [check-recursive] Error 1
> make[4]: Leaving directory
> `/home/ka1ssr/development/gnucash/src/backend/dbi/test'
> make[3]: *** [check-recursive] Error 1
> make[3]: Leaving directory
> `/home/ka1ssr/development/gnucash/src/backend/dbi'
> make[2]: *** [check-recursive] Error 1
> make[2]: Leaving directory `/home/ka1ssr/development/gnucash/src/backend'
> make[1]: *** [check-recursive] Error 1
> make[1]: Leaving directory `/home/ka1ssr/development/gnucash/src'
> make: *** [check-recursive] Error 1

There are a couple of possibilities: Your libdbi might have been compiled to point somewhere else for the drivers. Try exporting GNC_DBD_DIR=/usr/lib/dbd before calling make check. There might be something wrong with either libdbi or  the drivers, or you have more than one version of libdbi installed. There might be some more error messages in /tmp/gnucash.trace.

Regards,
John Ralls




More information about the gnucash-devel mailing list