[GNC] Fails under newest Ubuntu

John Ralls jralls at ceridwen.us
Sun May 1 19:33:34 EDT 2022


Please remember to copy the list on all replies.




> On May 1, 2022, at 3:58 PM, Stephen M. Butler <Stephen.M.Butler51 at gmail.com> wrote:
> 
> On 5/1/22 08:47, john wrote:
>>> On Apr 30, 2022, at 9:50 PM, Stephen M. Butler <Stephen.M.Butler51 at gmail.com> wrote:
>>> 
>>> On 4/30/22 15:40, David H wrote:
>>>> Steve FYI,
>>>> 
>>>> Re-compiled and working now although I did have to add the following to my build script..
>>>> 
>>>> sudo git config --global --add safe.directory $SOURCEDIR
> 
> I saw that when attempting the sudo make install.  Although the note didn't reference the sudo part and it took me a coupe of attempts to figure that part out.
> 
>>>> 
>>>>> Regards,
>>>>> John Ralls
>>>>> 
>>>> 
>>>> 
>>>> Cheers David H.
>>>> 
>>> Cmake was building files in my gnucash git clone directory.  I ended up having to destroy and download a whole new clone.  That seems to have fixed whatever strange problem cmake was having.   Make is currently compiling and I hope that finishes here in the next few minutes.
>>> 
>>> I'll have to pull up the git docs and figure out what your command line does and why it might be needed.
>> Cmake does that only if you invoke it in the source directory. Don't do that.
> 
> I was definitely in the Build directory:
> ./gnucash
> ./Build-4.10-60  <-- in here
> 
> Also tried to copy the ./gnucash --> ./Source-4.10-60
> Cmake worked but make didn't.  It still tried to reference ./gnucash


When you have a problem like this and periodically just for drill delete the contents of your build directory and start afresh:

Make double sure you're really in your build directory, then say

rm -rf * && cmake <whatever options> /path/to/source/directory

>> 
>> Git has a clean command:
>>   git clean -fdx
>> You can use that to restore your working directory to a freshly checked out state, no need to re-clone.
> Tried just the git clean -f  (didn't see the dx options).  Something somewhere was still causing cmake to build into the source directory even though I was in the build one.  That would have helped a great deal as I have a very slow Century NoLink 8Mbit connection.

Probably a lot. -d tells git clean to recurse. Leave it out and you clean only the top-level directory. -x tells git to ignore the gitignore files that probably have things like build products if you've messed up and run cmake in the source directory, editor artifacts, and random other stuff.

> 
> Over the course of the evening ended up cloning three times. Finally Cmake and Make beat me into submission and I referenced the ./gnucash git directory from the ./Build-4.10-60 directory.  That all worked and sudo make install also worked!! (about midnight).
> 
> I did have one problem with sudo make uninstall in the ./Build-4.9-10 build folder.  I had removed the source folder for that build and uninstall needed it for some reason.  One reason why I would like to keep a copy of the git directory at the time of build so I have the old source sitting around that was used for the build.

More evidence that you at some point ran cmake in the source directory and make found those Makefiles. The file that make uninstall is looking for is installed_manifest.txt. It contains the paths to all of the installed files.
> 
> I seem to remember that git has the option to checkout into a different directory so I will investigate if that will work and can be the source referenced by cmake.

It does, but that's not what you want. Cmake won't write anything into your source directory as long as you never invoke it from there and don't use the –B option.

> 
> But, not today!  Getting my 5th wheel ready for summer use.  I may explore that when forced to compile again (which may be in the distant future).
> 
> I'm retired!!  How can I be this busy?  How did I ever have time to go to work?
> 

Another thing you might want to explore next time is ninja. It's a lot faster than make.

Regards,
John Ralls



More information about the gnucash-user mailing list