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

2013-09-24 Thread Derek Atkins
John Ralls jra...@ceridwen.us writes:

 On Sep 23, 2013, at 7:42 AM, Derek Atkins warl...@mit.edu wrote:

 Christian Stimming christ...@cstimming.de writes:
 
 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
 
 Curious:  What happens if this line were to become:
 
  gcc -o conftest -I/home/cs/usr/include conftest.c -ldl -lpthread
 

 The patch I proposed here yesterday does that, at least with respect
 to the order of the libraries wrt conftest.c. Other CFLAGS are
 determined elsewhere by configure and the environment, of course.

I didn't take a close look at the patch, but I was just wondering
because if -ldl is before conftest.c then the compiler might not notice
that you need dlopen() from -ldl until after it's processing conftest.c,
which would be too late.  So yes, sometimes order of files/libraries
on the command line *is* important.

 Regards,
 John Ralls

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   warl...@mit.eduPGP key available
___
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

2013-09-24 Thread Christian Stimming
Am Sonntag, 22. September 2013, 14:56:52 schrieb John Ralls:
  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'
 
 So libtool.m4's call of AC_CHECK_LIB([ldl], [dlopen],...) found dlopen in
 libdl.so.
 
 More likely then that the command  gcc -o conftest -I/home/cs/usr/include  
 -ldl conftest.c - lpthread isn't trying to link libdl. Which is strange,
 especially since it works fine on Debian Wheezy 64.
 
 Hmm. That space between - and lpthread is bothersome.  Try this patch and
 see if it changes anything: 

Indeed, with this patch it works. The log says

configure:20283: checking for dbi/dbi.h
configure:20283: result: yes
configure:20320: checking Looking for at least one supported DBD module
configure:20340: gcc -o conftest -I/home/cs/usr/include   conftest.c -ldl -
lpthread  5
configure:20340: $? = 0
configure:20340: ./conftest
configure:20340: $? = 0

Does this mean it just was the -ldl had to come after the conftest.c 
argument? Seems a bit weird to me that it works for you, though.

In any case, I'd be glad if you could commit this patch. Thanks!

Regards,

Christian


 diff --git a/configure.ac b/configure.ac
 index 2b78423..17c3c6c 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -534,6 +534,7 @@ then
EXTRA_SEARCH_LIBS=
AC_CHECK_HEADERS(dbi/dbi.h)
if test x$ac_cv_header_dbi_dbi_h != xno; then
 +saved_LIBS=$LIBS
  AC_ARG_WITH( dbi-dbd-dir,
[AS_HELP_STRING([--with-dbi-dbd-dir=PATH],[specify location of libdbi
 dri [[GNC_DBD_DIR=$with_dbi_dbd_dir
 @@ -551,7 +552,7 @@ then
  LDINC=#include dlfcn.h
  LDFUNCARGS=, RTLD_NOW
  LDEXT=so
 -export LDFLAGS=$LDFLAGS $lt_cv_dlopen_libs
 +LIBS=$lt_cv_dlopen_libs $LIBS
  ;;
esac
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$EXTRA_SEARCH_LIBS
 @@ -581,6 +582,7 @@ to the configure argument list and run it again.
 
  LIBDBI_LIBS=-ldbi
  _COMPONENTS=$_COMPONENTS dbi
 +LIBS=$saved_libs
else
  AC_MSG_ERROR([
 
 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

2013-09-24 Thread John Ralls

On Sep 24, 2013, at 1:43 PM, Christian Stimming christ...@cstimming.de wrote:

 Am Sonntag, 22. September 2013, 14:56:52 schrieb John Ralls:
 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'
 
 So libtool.m4's call of AC_CHECK_LIB([ldl], [dlopen],...) found dlopen in
 libdl.so.
 
 More likely then that the command  gcc -o conftest -I/home/cs/usr/include  
 -ldl conftest.c - lpthread isn't trying to link libdl. Which is strange,
 especially since it works fine on Debian Wheezy 64.
 
 Hmm. That space between - and lpthread is bothersome.  Try this patch and
 see if it changes anything: 
 
 Indeed, with this patch it works. The log says
 
 configure:20283: checking for dbi/dbi.h
 configure:20283: result: yes
 configure:20320: checking Looking for at least one supported DBD module
 configure:20340: gcc -o conftest -I/home/cs/usr/include   conftest.c -ldl -
 lpthread  5
 configure:20340: $? = 0
 configure:20340: ./conftest
 configure:20340: $? = 0
 
 Does this mean it just was the -ldl had to come after the conftest.c 
 argument? Seems a bit weird to me that it works for you, though.
 
 In any case, I'd be glad if you could commit this patch. Thanks!

Yay!

Yes, it probably does, though it's weird that only your compiler seemed to mind.

Done, r23195.

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

2013-09-23 Thread Derek Atkins
Christian Stimming christ...@cstimming.de writes:

 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

Curious:  What happens if this line were to become:

  gcc -o conftest -I/home/cs/usr/include conftest.c -ldl -lpthread

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   warl...@mit.eduPGP key available
___
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

2013-09-23 Thread Derek Atkins
John Ralls jra...@ceridwen.us writes:

 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.

Perhaps we should leverage that  Except for the fact that make
distcheck just calls configure with no arguments so we need to make
sure that works properly.

 Regards,
 John Ralls

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   warl...@mit.eduPGP key available
___
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

2013-09-23 Thread John Ralls

On Sep 23, 2013, at 7:44 AM, Derek Atkins warl...@mit.edu wrote:

 John Ralls jra...@ceridwen.us writes:
 
 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.
 
 Perhaps we should leverage that  Except for the fact that make
 distcheck just calls configure with no arguments so we need to make
 sure that works properly.

Make distcheck does work (except for Christian :-( ) at present on Linux and 
should
work on BSD. It doesn't work on OSX because there it needs a prefix argument, 
but that's skew to this subject. I've no idea whether it works on Windows, but 
I don't 
think that there'd ever be a reason for it to.

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

2013-09-23 Thread John Ralls

On Sep 23, 2013, at 7:42 AM, Derek Atkins warl...@mit.edu wrote:

 Christian Stimming christ...@cstimming.de writes:
 
 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
 
 Curious:  What happens if this line were to become:
 
  gcc -o conftest -I/home/cs/usr/include conftest.c -ldl -lpthread
 

The patch I proposed here yesterday does that, at least with respect to the 
order of the libraries wrt conftest.c. Other CFLAGS are determined elsewhere by 
configure and the environment, of course.

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

2013-09-22 Thread Geert Janssens
On Saturday 21 September 2013 18:00:49 John Ralls wrote:
 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

My configure problem is fixed with this new version. Thanks!

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

2013-09-22 Thread John Ralls

On Sep 22, 2013, at 1:16 PM, Christian Stimming christ...@cstimming.de wrote:

 Am Samstag, 21. September 2013, 15:44:05 schrieb John Ralls:
 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.
 ...
 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)? 
 
 The error message in config.log is still unchanged. libdl.so is in 
 /usr/lib/x86_64-linux-gnu, as you guessed. Also the linker error message 
 doesn't complain about could not link 'dl' but it rather complains only 
 about the undefined reference. Hence, it found libdl.so but somehow doesn't 
 find that reference.
 
 $ ls -l /usr/lib/x86_64-linux-gnu/libdl*
 -rw-r--r-- 1 root root 13194 2012-09-21 09:04 /usr/lib/x86_64-linux-
 gnu/libdl.a
 lrwxrwxrwx 1 root root32 2012-09-21 09:04 /usr/lib/x86_64-linux-
 gnu/libdl.so - /lib/x86_64-linux-gnu/libdl.so.2
 
 Also, please run  grep lt_cv_dlopen config.log
 
 lt_cv_dlopen=dlopen
 lt_cv_dlopen_libs=-ldl
 lt_cv_dlopen_self=yes
 lt_cv_dlopen_self_static=no

So libtool.m4's call of AC_CHECK_LIB([ldl], [dlopen],...) found dlopen in 
libdl.so.

More likely then that the command  gcc -o conftest -I/home/cs/usr/include   
-ldl conftest.c - lpthread
isn't trying to link libdl. Which is strange, especially since it works fine on 
Debian Wheezy 64.

Hmm. That space between - and lpthread is bothersome.  Try this patch and see 
if it changes anything:
diff --git a/configure.ac b/configure.ac
index 2b78423..17c3c6c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -534,6 +534,7 @@ then
   EXTRA_SEARCH_LIBS=
   AC_CHECK_HEADERS(dbi/dbi.h)
   if test x$ac_cv_header_dbi_dbi_h != xno; then
+saved_LIBS=$LIBS
 AC_ARG_WITH( dbi-dbd-dir,
   [AS_HELP_STRING([--with-dbi-dbd-dir=PATH],[specify location of libdbi dri
   [[GNC_DBD_DIR=$with_dbi_dbd_dir
@@ -551,7 +552,7 @@ then
 LDINC=#include dlfcn.h
 LDFUNCARGS=, RTLD_NOW
 LDEXT=so
-export LDFLAGS=$LDFLAGS $lt_cv_dlopen_libs
+LIBS=$lt_cv_dlopen_libs $LIBS
 ;;
   esac
   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$EXTRA_SEARCH_LIBS
@@ -581,6 +582,7 @@ to the configure argument list and run it again.

 LIBDBI_LIBS=-ldbi
 _COMPONENTS=$_COMPONENTS dbi
+LIBS=$saved_libs
   else
 AC_MSG_ERROR([

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

2013-09-22 Thread Bob Brush
Just to add it fixes things here as well using Sabayon 13.08  Thanks!

On Sun, 2013-09-22 at 22:47 +0200, Geert Janssens wrote:
 On Saturday 21 September 2013 18:00:49 John Ralls wrote:
  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
 
 My configure problem is fixed with this new version. Thanks!
 
 Geert
 ___
 gnucash-devel mailing list
 gnucash-devel@gnucash.org
 https://lists.gnucash.org/mailman/listinfo/gnucash-devel

-- 
Bob Brush gnuc...@wvit.net

___
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

2013-09-21 Thread Geert Janssens
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

2013-09-21 Thread Geert Janssens
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

2013-09-21 Thread John Ralls

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: r23186 - gnucash/trunk - Bug 654196 - make check fails when built with --enable-dbi

2013-09-21 Thread Geert Janssens
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

2013-09-21 Thread 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).

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

2013-09-21 Thread Herbert Thoma

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

2013-09-21 Thread 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

-- 
   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

2013-09-21 Thread Christian Stimming
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

2013-09-21 Thread John Ralls

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

2013-09-21 Thread John Ralls

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

2013-09-21 Thread John Ralls

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

2013-09-21 Thread John Ralls

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