Jeffrey, I will start form scratch. The first step is setting up for building. My apologies if I am teaching you to suck eggs. Linux Mint has an alias of apt defined for apt-get. I am not sure if it is also defined in Ubuntu. If not substitute apt-get where I have apt in the following.
# first download a copy of the gnucash source code gnucash-3.0.tar.bz2 from # https://www.gnucash.org/download.phtml and extract the gnucash-3.0 source file. I use a folder called # Applications in my home directory for programs and libraries I build from scratch and usually keep the # sources there so i can easily rebuild if I strike a problem, but that is just a personal preference. #Open a terminal/bash shell and then cd to the extracted folder gnucash-3.0. # this loads compilers,dev tools etc as per https://packages.ubuntu.com/xenial/build-essential $sudo apt install build essential $sudo apt install cmake #the next step is to install the gnucash dependencies as listed in the README.dependencies file under the #gnucash-3.0 folder. This generally lists the minimum version of the libraries required. You will generally find that Ubuntu will in most cases load a later version. I will list the command to load followed by the required version as in that file as a #comment separated by a #. The list on https://wiki.gnucash.org/wiki/Building lists the development headers that are required but you may also need to load the libraries as well sudo apt-get install libtool libltdl-dev #glib2 > v2.40.0 sudo apt-get install libglib2.0 libglib2.0-dev sudo apt-get install icu-devtools libicu-dev # boost > 1.50.0 sudo apt-get install libboost-all-dev # guile >=2.0.0 sudo apt-get install guile-2.0 guile-2.0-dev #swig >2.0.10 sudo apt-get install swig2.0 sudo apt-get install libxml2 libxml++2.6-dev sudo apt-get install libxslt1.1 libxslt1-dev sudo apt-get install xsltproc sudo apt-get install libgtest-dev sudo apt-get install gtk+3.0 sudo apt-get install libgtk-3-dev sudo apt-get install libwebkit2gtk-4.0-37 sudo apt-get install libwebkit2gtk-4.0-dev sudo apt-get install libdbi1 libdbi-dev # if you use a database backend rather than the default XML backaend # you need to load at least one of the following # and choose the one relevant to the database you want to use sudo apt-get install libdbd-pgsql #PostgreSQL database sudo apt-get install libdbd-mysql # MySQL database sudo -get install libdbd-sqlite3 #Sqlite database # these are needed if you use online banking tools sudo apt-get install libofx6 libofx4 libofx-dev dpkg -lsudo apt-get aqbanking-tools libaqbanking-dev # this is required on linux systems it may be already installed but will tell you if it is sudo apt-get install dconf-cli # # you can check out what versions of packages are installed or not using the following command dpkg -l | grep <package name> # here <package name> can be the actual package name or a substring. grep will extract anything # from the dpkg -l output which contains that substring # # The next step is getting googletest setup. The version from the Ubuntu repository is 1.7.0 and does not # contain gmock within the gtest download. V1.8.0 has both in the one repository and is a little bit easier # to setup. Google do not recommend using googlemock and googletest as shared dynamically linked # libraries because if a program is compiled with different compiler flags from the libraries links to them # at run time they can fail something I did not appreciate but I haven't had any problems so far. # To set it up as recommended by Google and the developers, at a terminal opened in a suitable folder (e.g. $HOME/Applications is what I use) enter: # git clone https://github.com/google/googletest.git # #this will create a folder googletest-master which has sub folders googletest and googlemock # cd googletest-master cmake -D BUILD_GTEST -DBUILD_GMOCK make # this creates the gtest and gmock libraries within the googletest-master folder but does not install them # as shared dynamically linked libraries. You then need to create environment variables pointing to the # top level folders containing these libraries export GTEST_ROOT=<path-to-googletest-master>/googletest export GMOCK_ROOT=<path-to-googletest-master>/googlemock # where <path-to-googletest-master> is in my case $HOME/Applications/googletest-master. This allows # CMake to find the googletest and googlemock libraries and include files to link into the program. # # At this point you should be ready to build gnucash. I prefer to install it in the /usr/local folder. This is # where the linux distros generally install it. If your previous version was installed from a Linux # distribution this is normally where it will be. It can also be installed under /opt. The essential step I # found was to ensure that all traces of any previous version of GnuCash were removed before doing # the build. #If you previously had a version from the Linux distro sudo apt-get remove gnucash # should achieve this. If you built a previous version from sources and still have the build sources # change to the build directory (may be the source directory (e.g. gnucash-2.6.19) or may be directory # named build, my-build or similar under the source directory) and type at the terminal sudo make uninstall # to check whether you have been succesful or not type whereis gnucash # If nothing is returned then you have removed it successfully. If whereis returns any of /usr/local/bin/gnucash /usr/local/etc/gnucash /usr/local/lib/gnucash # then those directories should be be removed. In this case use rm -r /usr/local/bin/gnucash rm-r /usr/local/etc/gnucash rm -r /usr/local/lib/gnucash # # now open a terminal at the toplevel gnucash-3.0 folder mkdir mybuild cd mybuild cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_AQBANKING=OFF -D WITH_OFX=ON .. # # You will find a full list of the option switches( i.e. -D WITH_...) with their default values towards the top # of the Wiki Build page https://wiki.gnucash.org/wiki/Building. I required the OFX support for loading # OFX files but don't use the AQBANKING support as Australian banks currently don't allow direct access. # if you are using a database backend e.g. you would require -D WITH_SQL=ON # # cmake should do a lot of checks as it runs and issue sttus messages and it will stop if it encounters any # problems. At this point come back with the terminal output and I (if it is failry simple) or perhaps one of # the developers can help sort it out. If it succeeds you will get a mesaage saying that it is writing the # make files into the mybuild directory you created above. Note there was some discussion of the # mybuild directory having to be outside the gnucash-3.0 directory. This is the case for building the # documentation I believe, but is not the case for building GnuCash itself. # If cmake completes successfully type at the terminal make # to build Gnucash. If make has any errors come back with the terminal output. The only error i had here # was with not having uninstalled the previous version fully. If make completes without error then #type in the terminal sudo make install # which will install Gnucash whereis gnucash # should then return the following /usr/local/bin/gnucash /usr/local/etc/gnucash /usr/local/lib/gnucash. If you have previously installed from the menu you should have a menu item which points to /usr/local/bin/gnucash. If not create a new menu item for Gnucash and put gnucash %f as the command and if you can locate a gnucash icon set the icon to point to it. There is one in the sources at ~/gnucash-3.0/data/pixmaps/gnucashicon.ico which you could copy to where your system installs icons. I think it normally should be copied on installation but there have been a few posts about it not being copied possibly on Windows and Macs. If you have any problems come back on the forum and we will try to sort it out from there. Good luck David ----- David Cousens -- Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel