Tags

, , ,

When I need to explore GIS data from Linux, my first options are gvSIG and QGIS. However, if you try to access PostGIS tables that are stored on a 64 bits server, QGIS is unable to access them, as only 32 bits identifiers are supported (at least on version 1.7.5, the one included on Linux Mint 14 Nadia). You can identify this problem by this error message:

“There were no columns in the table that were suitable as a qgis key into the table (either a column with a unique index and type int4 or a PostgreSQL oid column. The unique index on column ‘xxxxx’ is unsuitable because Quantum GIS does not currently support non-int4 type columns as a key into the table.”

There is an open ticket for this issue that you can use to track progress.

In this case, gvSIG is your friend. Note, however, that installing gvSIG on 64 bits systems is a bit tricky, so I recommend following these instructions:

  • Choose “All-included version (recommended)” from the gvSIG download section.
  • Execute installer and choose “Install a new Java Runtime Environment” (or use the suggested previous installation if it is not the first time you install gvSIG).
  • Install 32 bits base libraries if not already installed. They are available on package¬†ia32-libs-multiarch on Linux Mint and Ubuntu systems, ia32-libs on Debian.

gvSIG requires a 32 bits Java runtime environment, and these steps are used to ensure that a 32 bits JRE is available and used by gvSIG.

The following error is a clear symptom of not having ia32-libs installed:

Caused by: java.lang.UnsatisfiedLinkError: /home/xxx/gvSIG/jre/1.6.0_20/lib/i386/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory

If using Linux Mint 14 Cinnamon, you might face an additional problem, as gvSIG installer is crashing Cinnamon window manager. In this case, you can avoid the problem by temporary switching your session to a different desktop environment (Gnome classic for instance). You can switch back to Cinnamon after installing gvSIG, as the problem only affects the installer.

Advertisements