[GNC-dev] gc 4.6 compile problem
Lothar Paltins
lkpgcd at mailbox.org
Wed Jun 30 14:34:42 EDT 2021
Hi,
I've tried to compile gnucash 4.6 under Linux (OpenSuse Tumbleweed):
cmake -DCMAKE_INSTALL_PREFIX=/opt/gnucash ..
make
There was the following error:
> [ 23%] Generating ../../lib64/guile/3.0/site-ccache/gnucash/engine/business-core.go
> Backtrace:
> In /usr/bin/guild:
> 72:17 19 (main _)
> In srfi/srfi-1.scm:
> 634:9 18 (for-each #<procedure 7ffbb68528c0 at scripts/compile.?> ?)
> In scripts/compile.scm:
> 279:26 17 (_ _)
> In system/base/target.scm:
> 65:6 16 (with-target _ _)
> In system/base/compile.scm:
> 187:6 15 (compile-file "/home/lothar/src/work/gnucash/gnucash-4?" ?)
> 53:4 14 (call-with-output-file/atomic _ _ _)
> In ice-9/boot-9.scm:
> 1752:10 13 (with-exception-handler _ _ #:unwind? _ # _)
> In system/base/compile.scm:
> 69:11 12 (_)
> 190:11 11 (_ #<closed: file 7ffbb6930930>)
> 331:39 10 (read-and-compile #<input: business-core.scm 13> #:from ?)
> 261:27 9 (_ _ _)
> In ice-9/boot-9.scm:
> 2835:4 8 (save-module-excursion #<procedure 7ffbb53e0da0 at lang?>)
> In language/scheme/compile-tree-il.scm:
> 31:15 7 (_)
> In ice-9/psyntax.scm:
> 1230:36 6 (expand-top-sequence (#<syntax:business-core.scm:22:0?>) ?)
> 1222:19 5 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)
> 259:10 4 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)
> In unknown file:
> 3 (load-extension "libgnucash-guile" "gnc_guile_bindings_?")
> In system/foreign-library.scm:
> 190:25 2 (load-foreign-library _ #:extensions _ # _ #:search-path ?)
> In unknown file:
> 1 (dlopen "/usr/lib64/libgnucash-guile.so" 1)
> In ice-9/boot-9.scm:
> 1685:16 0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure dlopen: file "/usr/lib64/libgnucash-guile.so", message "/usr/lib64/libgnucash-guile.so: undefined symbol: gnc_pricedb_lookup_latest_before_any_currency_t64"
> make[2]: *** [bindings/guile/CMakeFiles/scm-engine-0.dir/build.make:79: lib64/guile/3.0/site-ccache/gnucash/engine/business-core.go] Error 1
> make[1]: *** [CMakeFiles/Makefile2:11852: bindings/guile/CMakeFiles/scm-engine-0.dir/all] Error 2
> make: *** [Makefile:166: all] Error 2
According to the NEWS file,
gnc_pricedb_lookup_latest_before_any_currency_t64 was replaced by
gnc_pricedb_lookup_nearest_before_any_currency_t64. The problem seems to
be the dlopen "/usr/lib64/libgnucash-guile.so", that's the old 4.5
library installed by the distribution. Copying the new generated library
build/lib64/libgnucash-guile.so to /usr/lib64 fixes the issue, but
that's a pretty ugly hack.
Is there a better fix?
Lothar
--
Lothar Paltins lkpgcd at mailbox.org
More information about the gnucash-devel
mailing list