Enterprise Linux GIS

From OSGeo
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This page gathers links and information about running FLOSS GIS software on Enterprise Linux (shortened EL hereafter) and derivatives, that is Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux.

EL is a popular and robust platform for servers and computing-heavy workstations, and is therefore a good fit for the specific requirements of GIS.

One goal is to integrate well with Debian GIS with regards to the versions maintained (see their Packages Thermometer) in order to improve interoperability.


An Enterprise Linux mailing list el@lists.osgeo.org has been established with an online archive.

Useful repositories for GIS software

  • EPEL is a official Fedora project which repackages many Fedora packages which are not part of the standard EL distribution. It contains quite a few GIS packages and base libraries. Note that one of the rules of the packages maintained in EPEL is that they should never require to change the base EL distribution.
  • PostgreSQL RPM Building Project maintains many versions of the PostgreSQL database as well as PostGIS packages
  • Argeo repository maintains versions of packages which cannot be maintained in EPEL. This is were our packaging effort currently takes place. It requires EPEL to be configured as a repository and is referred hereafter as the 'custom packages repository' This is still at a beta stage, feedback welcome!

Packages Status Summary

Package Version (stable) Version (testing) Repository Comment
gdal 1.6.3 1.7.2 elgis testing is built against postgresql84
geos 3.2.2 elgis
gpsbabel 1.3.3 epel
grass 6.4.0RC6 elgis -wx UI broken since EPEL update to wxGTK/wxPython 2.8.11
mapserver 5.6.5 elgis
postgis 1.5.1 elgis built against postgresql84
proj 4.7.0 elgis
qgis 1.4.0 elgis-plus Python plugins not working, probably requires a higher version of Python

How To

How to enable the custom packages repository

cd cd /etc/yum.repos.d/
wget http://www.argeo.org/linux/argeo-el/5/argeo.repo
  • if you want to install QGIS, edit the repo file and enable the 'argeo-plus' and 'argeo-gis-plus' sections. WARNING: this updates the base distribution

How to hack and locally build the custom packages

For the time being the custom packages (that is, those not maintained by EPEL) are versioned by and distributed through argeo.org.

You can see the currently versioned packages here (along with non-GIS packages maintained by argeo.org):


Note: the base URL will probably change in the near future

Note: simply accept the self-signed certificate

You can checkout all the packages:

svn co https://www.argeo.org/svn/dependencies/trunk/org.argeo.dep.rpm/centos rpms

Or one by one, for example:

svn co https://www.argeo.org/svn/dependencies/trunk/org.argeo.dep.rpm/centos/gdal gdal

Each package directory follows the directory structure expected by rpmbuild (see how to set an rpmbuild environment).

We version only the spec files (under <package name>/SPECS/<package name>.spec) and the patches or some light sources (under <package name>/SOURCES). The source packages of the underlying libraries needs to be downloaded in the SOURCES directory.

Please send patches to the spec files to the el@lists.osgeo.org mailing-list.

In order to actually build, you can then configure %_topdir in your ~/.rpmmacros file to point to where you checked out a package, for example:

%_topdir %(echo $HOME)/dev/rpmbuild
%rhel 5
%packager Mathieu Baudier <mbaudier@argeo.org>
%dist .el5.argeo

A more persistent alternative is to have the two following files in each package directory:

  • <package directory>/rpmrc
include: /usr/lib/rpm/rpmrc
macrofiles: /usr/lib/rpm/macros:/usr/lib/rpm/ia32e-linux/macros:/usr/lib/rpm/redhat/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/ia32e-linux/macros:~/.rpmmacros:<package directory>/rpmmacros

(note the ':<package directory>/rpmmacros' appended at the end of the macrofiles line)

  • <package directory>/rpmmacros
%_topdir <package directory>
%rhel 5
%packager Mathieu Baudier <mbaudier@argeo.org>
%dist .el5.argeo

And then call rpmbuild as follow

cd <package directory>
rpmbuild --rcfile=rpmrc -ba SPECS/<package name>.spec

These two files are registered in svn:ignore and can typically be automatically generated by scripts or a build framework.