make-check fails if not installed

John Ralls jralls at ceridwen.us
Wed Jun 8 20:39:10 EDT 2016


> On Jun 8, 2016, at 3:34 PM, Alex Aycinena <alex.aycinena at gmail.com> wrote:
> 
> On a new clone on master, make-check fails on its first run (before being
> installed) but succeeds after the application has been installed in its
> install directory. This is because the guile symbol
> 'qof_backend_register_provider' is being looked for in three instances in
> the install directory instead of in the build directory. The following is
> reported in src/engine/test/test-suite.log:
> 
> FAIL: test-test-extras
> ======================
> 
> /home/gnucash-dev/gitcheckouts/gnucash-working-build/gnc-guile: symbol
> lookup error:
> /opt/gnucash-git/gnucash-working/lib/gnucash/libgncmod-backend-dbi.so:
> undefined symbol: qof_backend_register_provider
> FAIL test-test-extras (exit status: 127)
> 
> FAIL: test-account
> ==================
> 
> /home/gnucash-dev/gitcheckouts/gnucash-working-build/gnc-guile: symbol
> lookup error:
> /opt/gnucash-git/gnucash-working/lib/gnucash/libgncmod-backend-dbi.so:
> undefined symbol: qof_backend_register_provider
> FAIL test-account (exit status: 127)
> 
> FAIL: test-split
> ================
> 
> /home/gnucash-dev/gitcheckouts/gnucash-working-build/gnc-guile: symbol
> lookup error:
> /opt/gnucash-git/gnucash-working/lib/gnucash/libgncmod-backend-dbi.so:
> undefined symbol: qof_backend_register_provider
> FAIL test-split (exit status: 127)

Alex,

That sort of failure is often caused by having a mismatch between the installed version and the tested version of GnuCash,
for example by installing maint and then attempting to build and check master. The dynamic linker will generally link
libraries first from the install directory and look in the build directory only if it can't find the image in the install directory.

To test if that's what's happening to you, run `make uninstall && make check` and see if it passes.

Regards,
John Ralls




More information about the gnucash-devel mailing list