r23186 - gnucash/trunk - Bug 654196 - "make check" fails when built with --enable-dbi

Christian Stimming christian at cstimming.de
Sat Sep 21 17:36:28 EDT 2013


The new test fails for me as well: Kubuntu 11.10, and config.log says:

configure:20323: checking Looking for at least one supported DBD module
configure:20343: gcc -o conftest -I/home/cs/usr/include   -ldl conftest.c -
lpthread
  >&5
/tmp/ccISRVMn.o: In function `main':
conftest.c:(.text+0xf): undefined reference to `dlopen'
collect2: ld returned 1 exit status
configure:20343: $? = 1
configure: program exited with status 1
configure: failed program was:


I do have the libraries installed in /usr/lib/dbd/, though:

$ ls  /usr/lib/dbd/
libdbdmysql.la  libdbdpgsql.la  libdbdsqlite3.la  libdbdsqlite.la
libdbdmysql.so  libdbdpgsql.so  libdbdsqlite3.so  libdbdsqlite.so

Any ideas, someone?

Regards,

Christian



Am Samstag, 21. September 2013, 16:51:09 schrieb Derek Atkins:
> Hi,
> 
> On Sat, September 21, 2013 3:43 pm, Herbert Thoma wrote:
> > Am 21.09.2013 19:22, schrieb John Ralls:
> >> On Sep 21, 2013, at 9:36 AM, Geert Janssens
> >> <janssens-geert at telenet.be>
> >> 
> >> wrote:
> >>> Yet I do have all three libraries installed. If I remove the test, I
> >>> can build and run GnuCash just fine using any of the backends. For
> >>> reference, the so files are here:
> >>> $ ls /usr/lib64/dbd/
> >>> libdbdmysql.so    libdbdpgsql.so    libdbdsqlite3.so
> >> 
> >> Ah. That's because Fedora has broken dlopen by creating the
> >> non-standard
> >> /usr/lib64 and not modifying dlopen's search accordingly. See dlopen
> >> (3).
> > 
> > I just found out that openSUSE (at least 12.3) has the same broken,
> > non-standard behavior.
> > 
> >> You can either call configure with --with-dbd-dir=/usr/lib64/dbd, add
> >> /usr/lib64/dbd to $LD_LIBRARY_PATH, or add it to /etc/ld.so.conf.d and
> >> run ldconfig as root.
> > 
> > OK, adding /usr/lib64/dbd to /etc/ld.so.conf.d and running ldconfig
> > fixed
> > the problem.
> > 
> >> I'll add some detail about that to the "not found" message.
> > 
> > I'd rather prefer that the test would just work, even with the broken,
> > non-standard
> > dlopen and /usr/lib64, since this seems to be quite common ...
> 
> The tests should call dlopen in the exact same way that it's called in
> GnuCash.  DBI works in F19, doesn't it?  How is dlopen() called in the
> sources?  The tests should call it the exact same way.
> 
> We should not require people to modify their ld.so.conf to get GnuCash to
> compile.
> 
> >   Herbert.
> >> 
> >> Regards,
> >> John Ralls
> 
> -derek


More information about the gnucash-devel mailing list