[GNC] new v3.0 install Ubuntu 18.04 LTS

Dennis Powless claven123 at gmail.com
Sun May 6 16:31:37 EDT 2018


dennis at dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications/gnucash-3.1$ cd
dennis at dennis-HP-Pavilion-Laptop-15-cc0xx:~$ cd Applications
dennis at dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications$ mkdir build-cmake
dennis at dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications$ ls
build-cmake  gnucash-3.1
dennis at dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications$ cd build-cmake
dennis at dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications/build-cmake$ cmake
-DCMAKE_INSTALL_PREFIX=/home/dennis/.local
CMake Error: The source directory "/home/dennis/Applications/build-cmake"
does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.



I've installed all the dependencies, how do I get the required files to the
build-cmake directory? Is there a separate process that I need to do.  Do I
just find this file and move it there?



D


On Sun, May 6, 2018 at 4:25 PM, Dennis Powless <claven123 at gmail.com> wrote:

> 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.h
>>> tml
>>> _______________________________________________
>>> 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