Greg 

As John said it can be done on Linux but to do it you have to build from
source as the install location needs to be specified when you invoke cmake
to configure the build. If I am running locally from my user directory I am 
able to run as many versions as I like but you need a few basic OS skills in
setting up to be able to launch the different version. 

My method of doing this is to install each version to its own subdirectory
of my home directory usually under $HOME/.local/bin. I am currently on Linux
Mint 19.3 which is based on Ubuntu 18.04 I.e.
$HOME/.local/bin/gnucash-3.6
$HOME/.local/bin/gnucash-3.7
$HOME/.local/bin/gnucash-3.8
Each of these locations will have its own 
/bin
/include
/share
/lib
directories created by the install process.

This is the location which needs to be supplied in the -D
CMAKE_INSTALL_PREFIX switch to cmake when building.  AFAI can tell GnuCash
sets its internal pointers to look for its resources in the appropriate
subdirectories. The arrangement of subdirectories is different for an
install to usr/local but for installation in /opt it will normally have a
/opt/gnucash directroy which contains the above subdirectories. I have not
tried installing multiple versions to /opt and I don't know if make install
can handle it but if you specified /opt/gnucash-3.8 to cmake in the build it
should install with all the subdirectories under that and it is only
necessary to create the launcher pointing to the executable file.

The /bin directory in each case contains the main executable .../bin/gnucash

I then create a menu launcher for each tagged with the version numbers and
pointing to the appropriate executable.  If you install under
/opt/gnucash-<ver> you just point to that location instead in the launcher.

If you are a terminal addict then an alternative is to create an alias which
points to each version.  You can usually find descriptions appropriate to
particular distros for creating alias and launcher items in the forums for
each distro.
 
This is not something I do as a matter of course but I did do it for the
first couple of V3 releases where there were initially a few bugs but I have
reverted to just installing only the release version in usr/local after
v3.3. I retain the source and build directories for the last couple of
version so I can in principle reinstall.

You have to exercise caution where a release includes changes in the file
locations and/or the data file structure which are not backward compatible
(fairly rare but occurs occasionally) although this is usually only to the
users configuration files as discussed in the wiki
https://wiki.gnucash.org/wiki/Configuration_Locations.


If you are working across major release boundaries an approach to deal with
the changing user file locations and structure might be to create a separate
user. If you maintain the data files in a dropbox for example it can be made
accessible to each user fairly easily. My personal accounts can be edited
from either my desktop and/or laptop (both Linux Mint boxes) or my wife's
Windows 10 laptop which are synchronized whenever internet access is
available usually within a minute or two of logging in. Again caution is
needed to ensure syncing has occurred.


David Cousens



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

Reply via email to