[GNC] new v3.0 install Ubuntu 18.04 LTS

Dennis Powless claven123 at gmail.com
Sun May 6 16:25:44 EDT 2018


Per the instructions on the https://wiki.gnucash.org/wiki/CMake_Addressing
page I see that I should make have the cmake build directory IN the gnucash
directory?  Right?

I don't need to keep the build applications after install.


To be honest, the literature is so confusing, it seems I'm reading several
different methods to do this.


location of my extracted file:
/home/dennis/Applications/gnucash-3.1


Dennis


On Sun, May 6, 2018 at 12:22 AM, Dennis Powless <claven123 at gmail.com> wrote:

> Almost there but not quite. In which directory in your home directory
> /home/dennis have you extracted the gnucash-3.1 directory from the tarball
> gnucash-3.1.tar.bz2 which you downloaded. Can you tell me the full path to
> that directory and the full path to the build-cmake directory you have
> created?
>
> I was told to extract it to the Applications folder, certainly, I can move
> that to the home folder. I was never told or read to specify a location for
> the build-cmake directory.  I'm not real sure where to place that.
>
> Yes that path to the tarball file extracted is the Applications
>  /home/dennis/Applications/gnucash-3.1
> dennis at dennis:~/Applications$ ls
> gnucash-3.1
>
>
>
>
> Next chack that $HOME is defined, type echo $HOME into a shell/terminal. It
> should return "/home/dennis".
>
>
> yes it returned /home/dennis
>
>
> With the "-DCMAKE_INSTALL_PREFIX=$HOME/.local/gnucash-3.1", the install
> process will create the following directory structure:
> /home/dennis/.local/gnucash-3.1/bin/gnucash
> /home/dennis/.local/gnucash-3.1/etc/gnucash
> /home/dennis/.local/gnucash-3.1/lib/gnucash
> /home/dennis/.local/gnucash-3.1/share/gnucash
>
> I was under the impression you had to identify the gnucash-3.1 in order
> for the 'installer' to find it
>
>
> It will also create those same four directories underneath a parent folder
> for any other application you install with a similar prefix.
>
> If you use the "-DCMAKE_INSTALL_PREFIX=$HOME/.local" as the install
> location
> you will get the structure:
> /home/dennis/.local/bin/gnucash
> /home/dennis/.local/etc/gnucash
> /home/dennis/.local/lib/gnucash
> /home/dennis/.local/share/gnucash.
>
> I certainly can use this one.
>
>
>
> The latter is normally the preferred arrangement  as when other
> applications
> are installed their files will also go in the same
> /home/dennis/.local/bin
> /home/dennis/.local/etc
> /home/dennis/.local/lib
> home/dennis/.local/share
> directories.
>
> Both of the above will work as if you want to uninstall Gnucash you issue
> "make unistall" command in the build-cmake directory you created and that
> uses the contents of a file "install_manifest.txt" which records the
> locations in which the files were installed. The latter is the structure
> that is normally used by most Linux developers in the system directories
> /usr, /usr/local and /opt, so mirroring that makes it a little easier in
> translating instructions that are written with a different base location in
> mind.
>
> CMake and make are different tools. CMake is a precompiler which checks
> that
> any dependent libraries and headr files are installed and available for the
> build system to use. It also creates in the build-cmake directory a
> parallel
> structure to the source directories containing files named Makefile which
> are used separately by the make tool to compile the program. It also
> contains bin, etc, lib and share directories into which the compiled
> sources
> are placed ready for installation.
>
> Entering the "make" command in the shell/terminal starts the process of
> building these directories within the build-cmake file.
>
> The final command "make install" ( or sudo make install if you are
> installing to a system location) copies these directories to the install
> location specified by the -DCMAKE_INSTALL_PREFIX switch applied to the
> cmake
> command.
>
> In the camke command as you had it specified
> "cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local/gnucash-3.1 make"
>
> "make" is not a legitimate part of the cmake command. It is a separate
> command which follows the cmake command, as explained above. Instead of
> make, you need in that position in the cmake command a path reference to
> the
> guncash-3.1 directory. You will remember I aksed you above to tell me the
> locations of it in your home directory structure. It may be something like
> /home/dennis/Applications/gnucash-3.1. In this case you would simply use
> the
> string "/home/dennis/Applications/gnucash-3.1" (without the quotes) where
> you have "make" in the cmake command. That is known as an absolute
> reference
> to the location of the gnucash source directory. That is probably the
> easiest to use as relative path from the build-cmake location to the
> gnucash-3.1 location can be a little more difficult to work out. Assuming
> the above location(substitute the correct path if not) the cmake command
> would be:
>
> cmake -DCMAKE_INSTALL_PREFIX=/home/dennis/.local
> /home/dennis/Applications/gnucash-3.1
>
>
> I accidentally wrote the make at the end, I thought the make on the second
> to last line was carried over from the previous
>
>
>
>
> The problem with writing instructions is that you generally have to assume
> a
> base level of knowledge on the part of the reader and unfortunately many of
> us do not have the assumed base level when we first try something, myself
> included. For the Gnucash User list, I think the assumed knowledge when it
> comes to building the software itself would be something like (but it is
> not
> clearly defined):
>
> Knowledge of the operating system you are using;
> Knowledge of its file system and structure;
> Knowledge of navigating the above;
> General familiararity with building software for the OS and the tools used
> to do it;
>
> The transition to GnuCash 3.1 is a bit more difficult than usual as the
> developers have made changes to how the software is built, introducing
> cmake
> instead of the configure script used by the autotools system so that it is
> more flexible and more easily maintained in the future. make itself is one
> component of the autotools used for building software on Linux systems.
> Add to that that there are many varieties of Linux which are all evolving
> along different paths with different sequential versions within each
> variety. Each variety often has its own system tools with different names.
> Even within linux Mint which is a derivative of Ubuntu I cannot really
> assume that all users will have the same gui system although most of the
> shell level commands are the same. Then you have Windows and Mac-OSX to
> worry about
>
> I am trying to write the instructions with the above general knowledge base
> in mind but I won't always succeed first off. I am monitoring the User and
> Dev lists for problems people encounter that I haven't covered so that I
> can
> continue to refine the instructions. Google, the Ubuntu forums and other
> Linux forums can help where I have assumed an understanding of Linux you or
> others may not have.
>
> I'm trying to figure this out, as I like to keep up to date on stable
> releases, but never knew how to build them.  So, I just kept with the
> official release from ubuntu, which is older.
>
> Do I cd to a specific location to start this process or do I do it from
> home??
>
>
>
>
> mkdir build-cmake
>
>
> cd build-cmake
>
>
> cmake -DCMAKE_INSTALL_PREFIX=/home/dennis/.local  ??spaces here???
> /home/dennis/Applications/gnucash-3.1
>
> make
>
> sudo make install
>
>
> Thanks for explaining what these things all mean, its helping.  I've read
> up on these things, well mostly the make, check install, check install
> etc... and there is quite a bit of conflicting things out there, some that
> makes sense and some that don't.
>
>
> Dennis
>
>
> On Sat, May 5, 2018 at 8:22 PM, DaveC49 <davidcousens at bigpond.com> wrote:
>
>> Hi Dennis,
>>
>> Almost there but not quite. In which directory in your home directory
>> /home/dennis have you extracted the gnucash-3.1 directory from the tarball
>> gnucash-3.1.tar.bz2 which you downloaded. Can you tell me the full path to
>> that directory and the full path to the build-cmake directory you have
>> created?
>>
>> Next chack that $HOME is defined, type echo $HOME into a shell/terminal.
>> It
>> should return "/home/dennis".
>>
>> With the "-DCMAKE_INSTALL_PREFIX=$HOME/.local/gnucash-3.1", the install
>> process will create the following directory structure:
>> /home/dennis/.local/gnucash-3.1/bin/gnucash
>> /home/dennis/.local/gnucash-3.1/etc/gnucash
>> /home/dennis/.local/gnucash-3.1/lib/gnucash
>> /home/dennis/.local/gnucash-3.1/share/gnucash
>>
>> It will also create those same four directories underneath a parent folder
>> for any other application you install with a similar prefix.
>>
>> If you use the "-DCMAKE_INSTALL_PREFIX=$HOME/.local" as the install
>> location
>> you will get the structure:
>> /home/dennis/.local/bin/gnucash
>> /home/dennis/.local/etc/gnucash
>> /home/dennis/.local/lib/gnucash
>> /home/dennis/.local/share/gnucash.
>>
>> The latter is normally the preferred arrangement  as when other
>> applications
>> are installed their files will also go in the same
>> /home/dennis/.local/bin
>> /home/dennis/.local/etc
>> /home/dennis/.local/lib
>> home/dennis/.local/share
>> directories.
>>
>> Both of the above will work as if you want to uninstall Gnucash you issue
>> "make unistall" command in the build-cmake directory you created and that
>> uses the contents of a file "install_manifest.txt" which records the
>> locations in which the files were installed. The latter is the structure
>> that is normally used by most Linux developers in the system directories
>> /usr, /usr/local and /opt, so mirroring that makes it a little easier in
>> translating instructions that are written with a different base location
>> in
>> mind.
>>
>> CMake and make are different tools. CMake is a precompiler which checks
>> that
>> any dependent libraries and headr files are installed and available for
>> the
>> build system to use. It also creates in the build-cmake directory a
>> parallel
>> structure to the source directories containing files named Makefile which
>> are used separately by the make tool to compile the program. It also
>> contains bin, etc, lib and share directories into which the compiled
>> sources
>> are placed ready for installation.
>>
>> Entering the "make" command in the shell/terminal starts the process of
>> building these directories within the build-cmake file.
>>
>> The final command "make install" ( or sudo make install if you are
>> installing to a system location) copies these directories to the install
>> location specified by the -DCMAKE_INSTALL_PREFIX switch applied to the
>> cmake
>> command.
>>
>> In the camke command as you had it specified
>> "cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local/gnucash-3.1 make"
>>
>> "make" is not a legitimate part of the cmake command. It is a separate
>> command which follows the cmake command, as explained above. Instead of
>> make, you need in that position in the cmake command a path reference to
>> the
>> guncash-3.1 directory. You will remember I aksed you above to tell me the
>> locations of it in your home directory structure. It may be something like
>> /home/dennis/Applications/gnucash-3.1. In this case you would simply use
>> the
>> string "/home/dennis/Applications/gnucash-3.1" (without the quotes) where
>> you have "make" in the cmake command. That is known as an absolute
>> reference
>> to the location of the gnucash source directory. That is probably the
>> easiest to use as relative path from the build-cmake location to the
>> gnucash-3.1 location can be a little more difficult to work out. Assuming
>> the above location(substitute the correct path if not) the cmake command
>> would be:
>>
>> cmake -DCMAKE_INSTALL_PREFIX=/home/dennis/.local
>> /home/dennis/Applications/gnucash-3.1
>>
>> The problem with writing instructions is that you generally have to
>> assume a
>> base level of knowledge on the part of the reader and unfortunately many
>> of
>> us do not have the assumed base level when we first try something, myself
>> included. For the Gnucash User list, I think the assumed knowledge when it
>> comes to building the software itself would be something like (but it is
>> not
>> clearly defined):
>>
>> Knowledge of the operating system you are using;
>> Knowledge of its file system and structure;
>> Knowledge of navigating the above;
>> General familiararity with building software for the OS and the tools used
>> to do it;
>>
>> The transition to GnuCash 3.1 is a bit more difficult than usual as the
>> developers have made changes to how the software is built, introducing
>> cmake
>> instead of the configure script used by the autotools system so that it is
>> more flexible and more easily maintained in the future. make itself is one
>> component of the autotools used for building software on Linux systems.
>> Add to that that there are many varieties of Linux which are all evolving
>> along different paths with different sequential versions within each
>> variety. Each variety often has its own system tools with different names.
>> Even within linux Mint which is a derivative of Ubuntu I cannot really
>> assume that all users will have the same gui system although most of the
>> shell level commands are the same. Then you have Windows and Mac-OSX to
>> worry about
>>
>> I am trying to write the instructions with the above general knowledge
>> base
>> in mind but I won't always succeed first off. I am monitoring the User and
>> Dev lists for problems people encounter that I haven't covered so that I
>> can
>> continue to refine the instructions. Google, the Ubuntu forums and other
>> Linux forums can help where I have assumed an understanding of Linux you
>> or
>> others may not have.
>>
>> Hope this helps
>>
>> David
>>
>> Hope this helps
>>
>>
>>
>> -----
>> David Cousens
>> --
>> Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-User-f1415819.
>> html
>> _______________________________________________
>> gnucash-user mailing list
>> gnucash-user at gnucash.org
>> To update your subscription preferences or to unsubscribe:
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> If you are using Nabble or Gmane, please see
>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.
>>
>
>


More information about the gnucash-user mailing list