Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Friday 20 September 2013 18:41:51 John Ralls wrote: Author: jralls Date: 2013-09-20 18:41:50 -0400 (Fri, 20 Sep 2013) New Revision: 23186 Trac: http://svn.gnucash.org/trac/changeset/23186 Modified: gnucash/trunk/configure.ac Log: Bug 654196 - make check fails when built with --enable-dbi but without sqlite DBD installed. Add configure test to ensure that at least one of the supported modules is installed Modified: gnucash/trunk/configure.ac == = --- gnucash/trunk/configure.ac2013-09-20 21:09:46 UTC (rev 23185) +++ gnucash/trunk/configure.ac2013-09-20 22:41:50 UTC (rev 23186) @@ -537,6 +537,41 @@ [AS_HELP_STRING([--with-dbi-dbd-dir=PATH],[specify location of libdbi drivers @:@default=${libdir}/dbd@:@])], GNC_DBD_DIR=$with_dbi_dbd_dir, GNC_DBD_DIR=) + case $host_os in +win32*|mingw*) + LDINC=#include windows.h + LDFUNC=LoadLibrary + LDFUNCARGS= + LDEXT=dll + ;; +Darwin*) + LDINC=#include dlfcn.h + LDFUNC=dlopen + LDFUNCARGS=, RTLD_NOW + LDEXT=so + ;; +*) + LDINC=#include dlfcn.h + LDFUNC=dlopen + LDFUNCARGS=, RTLD_NOW + LDEXT=so + export LDFLAGS=$LDFLAGS -ldl + ;; + esac + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GNC_DBD_DIR + AC_MSG_CHECKING([Looking for at least one supported DBD module]) + AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], + [[if (!$LDFUNC(libdbdsqlite3. $LDEXT$LDFUNCARGS)) return -1; + ]])],AC_MSG_RESULT([SQLite3]), + AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], + [[if (!$LDFUNC(libdbdmysql. $LDEXT$LDFUNCARGS)) return -1; + ]])],AC_MSG_RESULT([MySql]), + AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], + [[if (!$LDFUNC(libdbdpgsql. $LDEXT$LDFUNCARGS)) return -1; + ]])],AC_MSG_RESULT([Postgresql]), + AC_MSG_FAILURE([[ +Unable to find any of the supported dbd modules (libdbdsqlite3, libdbdmysql, or libdbdpgsql) needed to actually use the SQL backend. Please install one or more of them to proceed. + ]] Would it make sense to also point out the other option here: disable dbi support again by dropping the --enable_dbi option ? Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Friday 20 September 2013 18:41:51 John Ralls wrote: Author: jralls Date: 2013-09-20 18:41:50 -0400 (Fri, 20 Sep 2013) New Revision: 23186 Trac: http://svn.gnucash.org/trac/changeset/23186 Modified: gnucash/trunk/configure.ac Log: Bug 654196 - make check fails when built with --enable-dbi but without sqlite DBD installed. Add configure test to ensure that at least one of the supported modules is installed Modified: gnucash/trunk/configure.ac == = --- gnucash/trunk/configure.ac2013-09-20 21:09:46 UTC (rev 23185) +++ gnucash/trunk/configure.ac2013-09-20 22:41:50 UTC (rev 23186) @@ -537,6 +537,41 @@ [AS_HELP_STRING([--with-dbi-dbd-dir=PATH],[specify location of libdbi drivers @:@default=${libdir}/dbd@:@])], GNC_DBD_DIR=$with_dbi_dbd_dir, GNC_DBD_DIR=) + case $host_os in +win32*|mingw*) + LDINC=#include windows.h + LDFUNC=LoadLibrary + LDFUNCARGS= + LDEXT=dll + ;; +Darwin*) + LDINC=#include dlfcn.h + LDFUNC=dlopen + LDFUNCARGS=, RTLD_NOW + LDEXT=so + ;; +*) + LDINC=#include dlfcn.h + LDFUNC=dlopen + LDFUNCARGS=, RTLD_NOW + LDEXT=so + export LDFLAGS=$LDFLAGS -ldl + ;; + esac + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GNC_DBD_DIR + AC_MSG_CHECKING([Looking for at least one supported DBD module]) + AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], + [[if (!$LDFUNC(libdbdsqlite3. $LDEXT$LDFUNCARGS)) return -1; + ]])],AC_MSG_RESULT([SQLite3]), + AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], + [[if (!$LDFUNC(libdbdmysql. $LDEXT$LDFUNCARGS)) return -1; + ]])],AC_MSG_RESULT([MySql]), + AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], + [[if (!$LDFUNC(libdbdpgsql. $LDEXT$LDFUNCARGS)) return -1; + ]])],AC_MSG_RESULT([Postgresql]), + AC_MSG_FAILURE([[ +Unable to find any of the supported dbd modules (libdbdsqlite3, libdbdmysql, or libdbdpgsql) needed to actually use the SQL backend. Please install one or more of them to proceed. + ]] LIBDBI_LIBS=-ldbi _COMPONENTS=$_COMPONENTS dbi And in addition to my previous comment: this code actually breaks configure on my system (Fedora 19, 64 bit): checking dbi/dbi.h usability... yes checking dbi/dbi.h presence... yes checking for dbi/dbi.h... yes src/optional/python-bindings/Makefile.am:117: warning: filter-out gnucash_core_c.py, ${PYTHON_LINK_FILES}: non-POSIX variable name src/optional/python-bindings/Makefile.am:117: (probably a GNU make extension) checking Looking for at least one supported DBD module... configure: error: in `/home/janssege/Development/Builds/gnucash-f19-trunk': configure: error: Unable to find any of the supported dbd modules (libdbdsqlite3, libdbdmysql, or libdbdpgsql) needed to actually use the SQL backend. Please install one or more of them to proceed. See `config.log' for more details make: *** [config.status] Error 1 make: *** Waiting for unfinished jobs Geert ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Sep 21, 2013, at 1:10 AM, Geert Janssens janssens-ge...@telenet.be wrote: Would it make sense to also point out the other option here: disable dbi support again by dropping the --enable_dbi option ? OK. On Sep 21, 2013, at 2:45 AM, Geert Janssens janssens-ge...@telenet.be wrote: And in addition to my previous comment: this code actually breaks configure on my system (Fedora 19, 64 bit): checking dbi/dbi.h usability... yes checking dbi/dbi.h presence... yes checking for dbi/dbi.h... yes src/optional/python-bindings/Makefile.am:117: warning: filter-out gnucash_core_c.py, ${PYTHON_LINK_FILES}: non-POSIX variable name src/optional/python-bindings/Makefile.am:117: (probably a GNU make extension) checking Looking for at least one supported DBD module... configure: error: in `/home/janssege/Development/Builds/gnucash-f19-trunk': configure: error: Unable to find any of the supported dbd modules (libdbdsqlite3, libdbdmysql, or libdbdpgsql) needed to actually use the SQL backend. Please install one or more of them to proceed. See `config.log' for more details make: *** [config.status] Error 1 make: *** Waiting for unfinished jobs Hmm. I tested on debian, not fedora, and I don't yet have a fedora-19 VM. Can you look in config.log and see what failed? Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23187 - gnucash/trunk - Revert dbi check
Oops, this one slipped through but was intended for local-use only on my machine to be able to continue to work while the new configure issue was being sorted out. I have just pushed a revert-the-revert commit :) Geert On Saturday 21 September 2013 12:12:10 Geert Janssens wrote: Author: gjanssens Date: 2013-09-21 12:12:07 -0400 (Sat, 21 Sep 2013) New Revision: 23187 Trac: http://svn.gnucash.org/trac/changeset/23187 Modified: gnucash/trunk/configure.ac Log: Revert dbi check Modified: gnucash/trunk/configure.ac == = --- gnucash/trunk/configure.ac2013-09-20 22:41:50 UTC (rev 23186) +++ gnucash/trunk/configure.ac2013-09-21 16:12:07 UTC (rev 23187) @@ -537,41 +537,41 @@ [AS_HELP_STRING([--with-dbi-dbd-dir=PATH],[specify location of libdbi drivers @:@default=${libdir}/dbd@:@])], GNC_DBD_DIR=$with_dbi_dbd_dir, GNC_DBD_DIR=) - case $host_os in -win32*|mingw*) - LDINC=#include windows.h - LDFUNC=LoadLibrary - LDFUNCARGS= - LDEXT=dll - ;; -Darwin*) - LDINC=#include dlfcn.h - LDFUNC=dlopen - LDFUNCARGS=, RTLD_NOW - LDEXT=so - ;; -*) - LDINC=#include dlfcn.h - LDFUNC=dlopen - LDFUNCARGS=, RTLD_NOW - LDEXT=so - export LDFLAGS=$LDFLAGS -ldl - ;; - esac - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GNC_DBD_DIR - AC_MSG_CHECKING([Looking for at least one supported DBD module]) - AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], - [[if (!$LDFUNC(libdbdsqlite3. $LDEXT$LDFUNCARGS)) return -1; - ]])],AC_MSG_RESULT([SQLite3]), - AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], - [[if (!$LDFUNC(libdbdmysql. $LDEXT$LDFUNCARGS)) return -1; - ]])],AC_MSG_RESULT([MySql]), - AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], - [[if (!$LDFUNC(libdbdpgsql. $LDEXT$LDFUNCARGS)) return -1; - ]])],AC_MSG_RESULT([Postgresql]), - AC_MSG_FAILURE([[ -Unable to find any of the supported dbd modules (libdbdsqlite3, libdbdmysql, or libdbdpgsql) needed to actually use the SQL backend. Please install one or more of them to proceed. - ]] +# case $host_os in +# win32*|mingw*) +# LDINC=#include windows.h +# LDFUNC=LoadLibrary +# LDFUNCARGS= +# LDEXT=dll +# ;; +# Darwin*) +# LDINC=#include dlfcn.h +# LDFUNC=dlopen +# LDFUNCARGS=, RTLD_NOW +# LDEXT=so +# ;; +# *) +# LDINC=#include dlfcn.h +# LDFUNC=dlopen +# LDFUNCARGS=, RTLD_NOW +# LDEXT=so +# export LDFLAGS=$LDFLAGS -ldl +# ;; +# esac +# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GNC_DBD_DIR +# AC_MSG_CHECKING([Looking for at least one supported DBD module]) +# AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], +# [[if (!$LDFUNC(libdbdsqlite3. $LDEXT$LDFUNCARGS)) return -1; +# ]])],AC_MSG_RESULT([SQLite3]), +#AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], +# [[if (!$LDFUNC(libdbdmysql. $LDEXT$LDFUNCARGS)) return -1; +#]])],AC_MSG_RESULT([MySql]), +# AC_RUN_IFELSE([AC_LANG_PROGRAM([$LDINC], +# [[if (!$LDFUNC(libdbdpgsql. $LDEXT$LDFUNCARGS)) return -1; +# ]])],AC_MSG_RESULT([Postgresql]), +# AC_MSG_FAILURE([[ +#Unable to find any of the supported dbd modules (libdbdsqlite3, libdbdmysql, or libdbdpgsql) needed to actually use the SQL backend. Please install one or more of them to proceed. +# ]] LIBDBI_LIBS=-ldbi _COMPONENTS=$_COMPONENTS dbi ___ gnucash-changes mailing list gnucash-chan...@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-changes ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Saturday 21 September 2013 08:50:03 John Ralls wrote: On Sep 21, 2013, at 1:10 AM, Geert Janssens janssens-ge...@telenet.be wrote: Would it make sense to also point out the other option here: disable dbi support again by dropping the --enable_dbi option ? OK. On Sep 21, 2013, at 2:45 AM, Geert Janssens janssens-ge...@telenet.be wrote: And in addition to my previous comment: this code actually breaks configure on my system (Fedora 19, 64 bit): checking dbi/dbi.h usability... yes checking dbi/dbi.h presence... yes checking for dbi/dbi.h... yes src/optional/python-bindings/Makefile.am:117: warning: filter-out gnucash_core_c.py, ${PYTHON_LINK_FILES}: non-POSIX variable name src/optional/python-bindings/Makefile.am:117: (probably a GNU make extension) checking Looking for at least one supported DBD module... configure: error: in `/home/janssege/Development/Builds/gnucash-f19-trunk': configure: error: Unable to find any of the supported dbd modules (libdbdsqlite3, libdbdmysql, or libdbdpgsql) needed to actually use the SQL backend. Please install one or more of them to proceed. See `config.log' for more details make: *** [config.status] Error 1 make: *** Waiting for unfinished jobs Hmm. I tested on debian, not fedora, and I don't yet have a fedora-19 VM. Can you look in config.log and see what failed? Regards, John Ralls This is what I have in config.log: configure:21183: checking Looking for at least one supported DBD module configure:21203: gcc -o conftest -g -O2 -ldl conftest.c -lpthread 5 configure:21203: $? = 0 configure:21203: ./conftest configure:21203: $? = 255 configure: program exited with status 255 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME GnuCash | #define PACKAGE_TARNAME gnucash | #define PACKAGE_VERSION 2.5.5 | #define PACKAGE_STRING GnuCash 2.5.5 | #define PACKAGE_BUGREPORT gnucash-devel@gnucash.org | #define PACKAGE_URL | #define PACKAGE gnucash | #define VERSION 2.5.5 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define GNUCASH_MAJOR_VERSION 2 | #define GNUCASH_MINOR_VERSION 5 | #define GNUCASH_MICRO_VERSION 5 | #define GNUCASH_NANO_VERSION 0 | #define GNUCASH_RESAVE_VERSION 19920 | #define GNUCASH_LATEST_STABLE_SERIES 2.4 | #define GETTEXT_PACKAGE gnucash | #define HAVE_LOCALE_H 1 | #define HAVE_LC_MESSAGES 1 | #define HAVE_BIND_TEXTDOMAIN_CODESET 1 | #define HAVE_GETTEXT 1 | #define HAVE_DCGETTEXT 1 | #define ENABLE_NLS 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR .libs/ | #define STDC_HEADERS 1 | #define HAVE_LIMITS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TIMES_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_STPCPY 1 | #define HAVE_MEMCPY 1 | #define HAVE_TIMEGM 1 | #define HAVE_TOWUPPER 1 | #define HAVE_SETENV 1 | #define HAVE_STRUCT_TM_GMTOFF 1 | #define HAVE_SCANF_LLD 1 | #define ENABLE_BINRELOC /**/ | #define HAVE_LIBPTHREAD 1 | #define BR_PTHREAD 1 | #define HAVE_GLIB_2_36 1 | #define HAVE_GLIB_2_32 1 | #define HAVE_DIRENT_H 1 | #define HAVE_DLFCN_H 1 | #define HAVE_UTMP_H 1 | #define HAVE_LOCALE_H 1 | #define HAVE_MCHECK_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_DLERROR 1 | #define HAVE_X11_XLIB_H 1 | #define HAVE_GLOB_H 1 | #define HAVE_CHOWN 1 | #define HAVE_GETHOSTNAME 1 | #define HAVE_GETPPID 1 | #define HAVE_GETUID 1 | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_GMTIME_R 1 | #define HAVE_GETHOSTID 1 | #define HAVE_LINK 1 | #define HAVE_DBI_DBI_H 1 | /* end confdefs.h. */ | #include dlfcn.h | int | main () | { | if (!dlopen(libdbdsqlite3.so, RTLD_NOW)) return -1; | | ; | return 0; | } configure:21225: gcc -o conftest -g -O2 -ldl conftest.c -lpthread 5 configure:21225: $? = 0 configure:21225: ./conftest ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Sep 21, 2013, at 9:36 AM, Geert Janssens janssens-ge...@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.solibdbdpgsql.solibdbdsqlite3.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). 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. I'll add some detail about that to the not found message. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
Am 21.09.2013 19:22, schrieb John Ralls: On Sep 21, 2013, at 9:36 AM, Geert Janssens janssens-ge...@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.solibdbdpgsql.solibdbdsqlite3.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 ... Herbert. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
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-ge...@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.solibdbdpgsql.solibdbdsqlite3.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 -- Derek Atkins 617-623-3745 de...@ihtfp.com www.ihtfp.com Computer and Internet Security Consultant ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
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-ge...@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.solibdbdpgsql.solibdbdsqlite3.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 ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Sep 21, 2013, at 2:36 PM, Christian Stimming christ...@cstimming.de wrote: 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' That's the problem, and it's a big one. 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 That part doesn't matter until we can sort out why the linker can't find dlopen. It's supposed to be in libdl.so, which Debian installs in /usr/lib/x86_64-linux-gnu. Can you check that it's there (it might be in /lib instead of /usr/lib)? Also, please run grep lt_cv_dlopen config.log Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Sep 21, 2013, at 1:51 PM, Derek Atkins de...@ihtfp.com wrote: 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-ge...@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.solibdbdpgsql.solibdbdsqlite3.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. It's not called in Gnucash. It's called in libdbi. That said, it occurred to me that I can just add /usr/lib/dbd, /usr/lib64/dbd, and ${libdir}/dbd to LD_LIBRARY_PATH before running the test programs. Commit coming as soon as I test it. We should not require people to modify their ld.so.conf to get GnuCash to compile. We don't. There are three ways, of which adding --with-dbd-dir to configure's arguments is the recommended one. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Sep 21, 2013, at 3:44 PM, John Ralls jra...@ceridwen.us wrote: We don't. There are three ways, of which adding --with-dbd-dir to configure's arguments is the recommended one. Sorry, that's --with-dbi-dbd-dir. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi
On Sep 21, 2013, at 3:44 PM, John Ralls jra...@ceridwen.us wrote: That said, it occurred to me that I can just add /usr/lib/dbd, /usr/lib64/dbd, and ${libdir}/dbd to LD_LIBRARY_PATH before running the test programs. Commit coming as soon as I test it. r23190 In an attempt to fix Christian's problem as well, it uses whatever AC_LIBTOOL_DLOPEN found for $lt_cv_dlopen and $lt_cv_dlopen_lib instead of hard-coded values. An interesting aside: This took a long time because commas in AC_MSG_ERROR descriptions break it. Not documented and took many tries to figure out the problem. Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel