You must remove the installed GnuCash to run a different version from the build 
directory. There are also two environment variables, GNC_UNINSTALLED and 
GNC_BUILDDIR, that are needed for some edge-cases, mostly involving Guile code. 
Set the first one to 1 and the second to your absolute build directory path.

Regards,
John Ralls


> On May 1, 2023, at 5:48 AM, Platon Pronko <platon7pro...@gmail.com> wrote:
> 
> Hi!
> 
> I'm trying to apply some changes to the code and test them. Previously I 
> could just execute `make` in the build directory and then run 
> `./bin/gnucash`, however on 5.x versions that stopped working. My current 
> workaround is to build and reinstall the entire package (I'm on Arch Linux), 
> but that's very slow and inconvenient.
> 
> Is there some way to run the code directly from the build tree, or install 
> into some temporary location and run from there?
> 
> 
> Below are my attempts so far.
> 
> When I run ./build/bin/gnucash (in the repository) I get some error about 
> inability to find app-utils module:
> 
> ```
> ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
> no code for module (gnucash app-utils)
> ```
> 
> I looked through the docs, and in "Starting GnuCash from the build tree" I 
> found some reference to installing it using some custom --prefix. My next 
> attempt was to run `make DESTDIR=/var/tmp/gnucash/ install`. Then I tried 
> starting gnucash from that temp location:
> 
> ```
> $ /var/tmp/gnucash/usr/bin/gnucash
> /var/tmp/gnucash/usr/bin/gnucash: error while loading shared libraries: 
> libgnc-module.so: cannot open shared object file: No such file or directory
> ```
> 
> Which is logical, because the binaries were not installed in the global 
> library dirs. I tried adding the paths to LD_LIBRARY_PATH:
> 
> ```
> $ LD_LIBRARY_PATH=/var/tmp/gnucash/usr/lib/:/var/tmp/gnucash/usr/lib/gnucash/ 
> ./usr/bin/gnucash
> This is a development version. It may or may not work.
> Report bugs and other problems to gnucash-devel@gnucash.org
> You can also lookup and file bug reports at https://bugs.gnucash.org
> To find the last stable version, please refer to https://www.gnucash.org/
> Backtrace:
> In ice-9/boot-9.scm:
>  1752:10  5 (with-exception-handler _ _ #:unwind? _ # _)
> In unknown file:
>           4 (apply-smob/0 #<thunk 7f00bc1cd2a0>)
> In ice-9/boot-9.scm:
>  3935:20  3 (process-use-modules _)
>   222:17  2 (map1 (((gnucash app-utils))))
>  3936:31  1 (_ ((gnucash app-utils)))
>   3330:6  0 (resolve-interface (gnucash app-utils) #:select _ #:hide …)
> 
> ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
> no code for module (gnucash app-utils)
> ```
> 
> Now I again get the error about inability to find the modules. Tried setting 
> GNC_MODULE_PATH - no effect. Then I tried setting GUILE_LOAD_PATH, and 
> observed some change in file open syscalls in strace. After tweaking 
> GUILE_LOAD_PATH some more I arrived at:
> 
> ```
> LD_LIBRARY_PATH=/var/tmp/gnucash/usr/lib/:/var/tmp/gnucash/usr/lib/gnucash/ 
> GUILE_LOAD_PATH=/var/tmp/gnucash/usr/share/guile/site/3.0/ ./usr/bin/gnucash
> ```
> 
> It starts, but fails with coredump when I try to do "File > Open...":
> 
> ```
> gnucash/gnome-utils/dialog-file-access.c:487:gnc_ui_file_access: assertion 
> failed: (active_access_method_index >= 0)
> ```
> 
> -- 
> Best regards,
> Platon Pronko
> PGP 2A62D77A7A2CB94E
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel@gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to