[PATCH] fix libdbi hardcoded driver directory usage

Geert Janssens janssens-geert at telenet.be
Wed May 19 07:53:24 EDT 2010


On Tuesday 18 May 2010, Bill Nottingham wrote:
> 1) libdbi, in its default configuration, puts the driver directory
> in $libdir/dbd, not a hardcoded /usr/lib/dbd. Fix gnucash's configury
> to use the same.
> 
> 2) If GNC_DBD_DIR is not set, fall back to the libdbi compiled-in default
> (whatever it may be) rather than a hardcoded value, as it's more likely
> to be correct.
> 
> Bill
> 
Thank you for your patch. I tested it and it basically works like you 
describe.

There's one thing though that keeps me from committing it right away and I 
would like to discuss first.

Using $libdir/dbd works well when GnuCash will be installed with the same 
prefix as libdbi, so it works well for packagers.

However, when developing, GnuCash is usually installed in a different prefix, 
to avoid clashing with an installed stable version. In this case, $libdir/dbd 
will be pointing to $prefex/lib/dbd. Usually that's not where a GnuCash 
developer has installed the dbd drivers, which are still in the standard 
installation location.

Obviously, it's easy to configure with --with-dbi-dbd-path pointing at the 
proper location for development and all is well.

I just wonder if it's possible to rewrite configure in such a way that it 
always does the right thing. I mean is there some automatic parameter like 
$libdir but one that then points to the system wide lib directory instead of 
the one relative to prefix ?

That would give an even better solution.

Geert


More information about the gnucash-devel mailing list