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@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.