[GNC-dev] I need help building GnuCash on master

John Ralls jralls at ceridwen.us
Sat May 30 20:47:00 EDT 2020

> On May 30, 2020, at 4:45 AM, Christian Gruber <christian.gruber at posteo.de> wrote:
> Am 29.05.20 um 01:49 schrieb Frank H. Ellenberger:
>> Christian,
>> did you clean ~/.cache/guile ? That is the place, where the precompiled
>> .go bytecode from the .scm files is stored.
> Thanks for this advise, I haven't tried this yet. Unfortunately it didn't help.
>> Frank
>> Am 28.05.20 um 17:42 schrieb Christian Gruber:
>>> Am 28.05.20 um 12:24 schrieb Frank H. Ellenberger:
>>>> Hi,
>>>> Am 28.05.20 um 08:13 schrieb Christian Gruber:
>>>>> I have to search for left *.go files, right? There are a lot in
>>>>> /usr/lib/x86_64-linux-gnu/guile/2.2/ccache. Can I remove the complete
>>>>> directory without hesitation?
>>>> The easier way is to uninstall guile-modules-2_2 to get rid of them. ;-)
>>>> They are part of that package.
>>> Ok, I checked that with inverse file search ("apt-file search"). On my
>>> Ubuntu system these files belong to package guile-2.2-libs. And the
>>> *.scm files in /usr/share/guile/2.2 belong to that package as well. But
>>> after uninstalling guile-2.2-libs CMake complains, when building GnuCash:
>>> CMake Error at CMakeLists.txt:311 (message):
>>>   Neither guile 2.2 nor guile 2.0 were found GnuCash can't run without
>>> one of
>>>   them.  Ensure that one is installed and can be found with pkg-config.
>>> Therefore I installed guile-2.2-libs again. And the build error is the
>>> same again as at the beginning:
>>> ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
>>> no code for module (gnucash core-utils)
>>> Is this maybe a problem of a missing CMake dependency?
>>> Another idea, I updated my Ubuntu system from 19.10 Eoan Ermine to 20.04
>>> Focal Fossa a few days ago. Could this be a reason?
> Can anybody please try to reproduce the build process on Linux from the current master branch in a completely clean build directory and with a clean guile cache (~/.cache/guile)?
> I did the following:
> cd ~/gnucash/build
> rm rf *
> cmake -DCMAKE_BUILD_TYPE=Debug ~/gnucash/src
> make all
> Can anybody tell me more precisely, what this error message actually means? Does "no code for module (gnucash core-utils)" mean, that something is not built yet? If yes, what is not built? Target "gnc-core-utils" is already built.


Sorry, I gave you bad advice Wednesday and that damaged your guile installation.

"no code for module (gnucash core-utils)" means that guile wants to load <builddir>/lib/guile/2.2/site-ccache/gnucash/core-utils.go and it's either not there, is empty, or can't find lib/libgnc-core-utils.so, the library on which it depends... *unless* it finds an old core-utils.go that wants to link to an installed libgnc-core-utils.so or if it's from maint libgncmod-core-utils.go. It searches system directories (i.e. /usr/lib*) first which is why you can't develop gnucash on a Linux system with an installed gnucash.

I've just finished clean builds of master on Ubuntu 18.04 and freshly updated Arch Linux and Debian Unstable, the last of which I'd think would be pretty close to your Ubuntu 20.04. Note that we run continuous integration tests after every push, you can see the results at https://travis-ci.org/github/Gnucash/gnucash/builds/. Those run on dockers with Ubuntu 18.04 and Arch Linux that are spun up and configured from scratch for each test run.

John Ralls

More information about the gnucash-devel mailing list