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 lkp...@mailbox.org _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel