ghini.desktop is a cross-platform program and it will run on unix machines like GNU/Linux and MacOSX, as well as on Windows.
one-liner for hurried Linux users.
Download and run the installation script. You may read the documentation later.
Ghini is maintained by very few people, who focus on enhancing its functional parts, more than on writing fancy installers. Instead of several native installers we offer a single cross-platform installation procedure. This has a few big advantages which you will learn to appreciate as we go.
The installation is based on running a script.
- The GNU/Linux script takes care of everything, from dependecies to
installation for users in the
- The Windows script needs you to first install a couple things.
- On MacOSX we use the same script as on GNU/Linux. Since OSX has no default package manager, we install one and we use it before we start the script.
Following our installation procedure, you will end with Ghini running within a Python virtual environment, all Python dependencies installed locally, non conflicting with any other Python program you may have on your system.
Dependencies that don’t fit in a Python virtual environment are: Python, virtualenv, GTK+, and PyGTK. Their installation varies per platform.
If you later choose to remove Ghini, you simply remove the virtual environment, which is a directory, with all of its content.
Installing on GNU/Linux¶
Open a shell terminal window, and follow the following instructions.
Download the devinstall.sh script:
Invoke the script from a terminal window, starting at the directory where you downloaded it, like this:
The script will produce quite some output, which you can safely ignore.
When almost ready, the installation script will ask you for your password. This lets it create a
ghiniuser group, initialise it to just yourself, make the just created
ghiniscript available to the whole
If feeling paranoid, you can safely not give your password and interrupt the script there.
Possibly the main advantage of a global installation is being able to find Ghini in the application menus of your graphic environment.
You can now start ghini by invoking the
You use the same
ghiniscript to update ghini to the latest released production patch:
This is what you would do when ghini shows you something like this:
Again the same
ghiniscript lets you install the optional database connectors: option
-pis for PostgreSQL, option
-mis for MySQL/MariaDB, but you can also install both at the same time:
Please beware: you might need solve dependencies. How to do so, depends on which GNU/Linux flavour you are using. Check with your distribution documentation.
You can also use the
ghiniscript to switch to a different production line. At the moment
1.0is the stable one, but you can select
1.1if you want to help us with its development:
~/bin/ghini -s 1.1
To run a script, first make sure you note down the name of the directory to which you have downloaded the script, then you open a terminal window and in that window you type bash followed by a space and the complete name of the script including directory name, and hit on the enter key.
You can study the script to see what steps if runs for you.
In short it will install dependencies which can’t be satisfied in a virtual environment, then it will create a virtual environment named
ghide, use git to download the sources to a directory named
~/Local/github/Ghini/ghini.desktop, and connect this git checkout to the
ghini-1.0branch (this you can consider a production line), it then builds ghini, downloading all remaining dependencies in the virtual environment, and finally it creates the
If you have
sudopermissions, it will be placed in
/usr/local/bin, otherwise in your
Installing on MacOSX¶
Being MacOSX a unix environment, most things will work the same as on GNU/Linux (sort of).
Last time we tested, some of the dependencies could not be installed on MacOSX 10.5 and we assume similar problems would also show on older OSX versions. Ghini has been successfully tested with 10.7, 10.9 and 10.12.
First of all, you need things which are an integral part of a unix environment, but which are missing in a off-the-shelf mac:
- developers tools: xcode. check the wikipedia page for the version supported on your mac.
- package manager: homebrew (tigerbrew for older OSX versions).
with the above installed, open a terminal window and run:
make sure you understand the problems it reports, and correct them. pygtk will need xquartz and brew will not solve the dependency automatically. either install xquartz using brew or the way you prefer:
brew install Caskroom/cask/xquartz
then install the remaining dependencies:
brew install git brew install pygtk # takes time and installs all dependencies
follow all instructions on how to activate what you have installed.
Mac running OSX 10.12 —Sierra—
On OSX 10.12,
gettextis already installed, but then it won’t let us find it. A solution is to run the following line:brew link gettext --force
Before we can run
devinstall.shas on GNU/Linux, we still need installing a couple of python packages, globally. Do this:sudo pip install virtualenv lxml
The rest is just as on a normal unix machine. Read the above GNU/Linux instructions, follow them, enjoy.
Installing on Windows¶
The current maintainer of ghini.desktop has no interest in learning how to produce Windows installers, so the Windows installation is here reduced to the same installation procedure as on Unix (GNU/Linux and MacOSX).
Please report any trouble. Help with packaging will be very welcome, in particular by other Windows users.
The steps described here instruct you on how to install Git, Gtk, Python, and the python database connectors. With this environment correctly set up, the Ghini installation procedure runs as on GNU/Linux. The concluding steps are again Windows specific.
Ghini has been tested with and is known to work on W-XP, W-7 and W-8. Although it should work fine on other versions Windows it has not been thoroughly tested.
Direct download links are given for all needed components. They have been tested in September 2015, but things change with time. If any of the direct download links stops working, please ring the bell, so we can update the information here.
The installation steps on Windows:
download and install
git(comes with a unix-like
all default options are fine, except we need git to be executable from the command prompt:
download and install Python 2.x (32bit) from:
Ghini has been developed and tested using Python 2.x. It will definitely not run on Python 3.x. If you are interested in helping port to Python 3.x, please contact the Ghini maintainers.
when installing Python, do put Python in the PATH:
pygtkfrom the following source. (this requires 32bit python). be sure you download the “all in one” version:
make a complete install, selecting everything:
(Possibly necessary, maybe superfluous) install lxml, you can grab this from:
Remember you need the 32 bit version, for Python 2.7.
On some systems, lxml was necessary to avoid the following error:
Building without Cython. ERROR: 'xslt-config' is not recognized as an internal or external command, operable program or batch file.
If you skip this step and can confirm you get the error, please inform us.
(optional) download and install a database connector other than
On Windows, it is NOT easy to install
psycopg2from sources, using pip, so “avoid the gory details” and use a pre-compiled pagkage from:
hey, this is Windows, you need to reboot for changes to take effect!
download and run (from
\system32\cmd.exe) the batch file:
right before you hit the enter key to run the script, your screen might look like something like this:
this will pull the
ghini.desktoprepository on github to your home directory, under
Local\github\Ghini, checkout the
ghini-1.0production line, create a virtual environment and install ghini into it.
you can also run
devinstall.batpassing it as argument the numerical part of the production line you want to follow.
this is the last installation step that depends, heavily, on a working internet connection.
the operation can take several minutes to complete, depending on the speed of your internet connection.
the last installation step creates the Ghini group and shortcuts in the Windows Start Menu, for all users. To do so, you need run a script with administrative rights. The script is called
devinstall-finalize.bat, it is right in your HOME folder, and has been created at the previous step.
right-click on it, select run as administrator, confirm you want it to make changes to your computer. These changes are in the Start Menu only: create the Ghini group, place the Ghini shortcut.
download the batch file you will use to stay up-to-date with the production line you chose to follow:
if you are on a recent Ghini installation, each time you start the program, Ghini will check on the development site and alert you of any newer ghini release within your chosen production line.
any time you want to update your installation, just start the command prompt and run
If you would like to generate and print PDF reports using Ghini’s default report generator then you will need to download and install Apache FOP. After extracting the FOP archive you will need to include the directory you extracted to in your PATH.
any error related to lxml.
In order to be able to compile lxml, you have to install a C compiler (on GNU/Linux this would be the
gccpackage) and Cython (a Python specialization, that gets compiled into C code. Note: Cython is not CPython).
However, It should not be necessary to compile anything, and
pipshould be able to locate the binary modules in the online libraries.
For some reason, this is not the case on Windows 8.1.
Please report any other trouble related to the installation of lxml.
Couldn’t install gdata.
For some reason the Google’s gdata package lists itself in the Python Package Index but doesn’t work properly with the easy_install command. You can download the latest gdata package from:
Unzip it and run
python setup.py installwin the folder you unzip it to.