dennis@dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications/gnucash-3.1$ cd dennis@dennis-HP-Pavilion-Laptop-15-cc0xx:~$ cd Applications dennis@dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications$ mkdir build-cmake dennis@dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications$ ls build-cmake gnucash-3.1 dennis@dennis-HP-Pavilion-Laptop-15-cc0xx:~/Applications$ cd build-cmake dennis@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 <claven...@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 <claven...@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@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 <davidcous...@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@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. >>> >> >> > _______________________________________________ gnucash-user mailing list gnucash-user@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.