Can't save in r12331
Chris Shoemaker
c.shoemaker at cox.net
Fri Jan 13 15:21:11 EST 2006
On Fri, Jan 13, 2006 at 03:02:09PM -0500, Chris Shoemaker wrote:
> On Fri, Jan 13, 2006 at 08:20:56PM +0200, Покотиленко Костик wrote:
> > > If not, do you see errors in /tmp/gnucash.trace?
> >
> > It's saying something nasty, attached
> >
> > --
> > Покотиленко Костик <casper at meteor.dp.ua>
>
> > gnucash: failed to open libtool archive "NONE/lib/libqof-backend-qsf.la"
> >
> > gnc_engine_init: assertion `(qof_load_backend_library (QOF_LIB_DIR, "libqof-backend-qsf.la", "qsf_provider_init"))' failed
>
> Aacck! Why are we hard-coding a ".la" module suffix? Do we not trust
> GModule to find the right library? But, that's probably not the
> _real_ problem...
>
> > Initialization failed for module gnucash/business-core-file
> >
> > Unable to read file /home/casper/.gnucash/expressions-2.0: File is empty
> >
> > gnucash: NONE/lib/libqof-backend-qsf.so: cannot open shared object file: No such file or directory
> >
>
> I have a pretty good idea what's happening here. I hadn't taken a
> look at QOF's module loading mechanism before today, but that is
> basically the problem.
>
> This is very closely related to what is also causing test-customer to
> fail with basically the same message in
> src/business/business-core/test/. QOF uses a compile-time path
> (QOF_LIB_DIR) to find libraries. Yours wasn't set. It's a bug in our
> configure.in. We need to set QOF_LIB_DIR even if we're using QOF
> internally. A very short-term is to revert to r12330 and make sure to
> use --without-qof if there's a chance you have an external QOF
> installed.
Our configure.in:
if test x$QOF_XML_DIR = x; then
QOF_LIB_DIR=`eval echo $libdir | sed "s%^NONE%$prefix%"`
QOF_LIB_DIR=`eval echo $QOF_LIB_DIR | sed "s%^NONE%$prefix%"`
QOF_CFLAGS="-I\${top_srcdir}/lib/libqof/qof"
QOF_LIBS="\${top_srcdir}/lib/libqof/qof/libqof.la"
# QOF_LIB_DIR=`eval echo ${libdir}`
QOF_VERSION="internal"
QOF_PREFIX="internal"
QOF_XML_DIR=`eval echo ${datadir}/xml/qsf`
LIBQOF_LIBRARY_VERSION=1:2:0
LIBQOF_BACKEND_QSF_LIBRARY_VERSION=0:1:0
AC_SUBST(LIBQOF_LIBRARY_VERSION)
AC_SUBST(LIBQOF_BACKEND_QSF_LIBRARY_VERSION)
AC_DEFINE(HAVE_LIBQOF,,[We will use the internal QOF code])
HAVE_LIBQOF="use_internal"
fi
I'm guessing that if --prefix is not specified, then it will be 'NONE'
and this will fail. Maybe we want:
QOF_LIB_DIR='${GNC_LIBDIR}'
-chris
More information about the gnucash-devel
mailing list