[GeoNetwork-devel] GeoNetwork and Fedora Core 8

Hi all,

I just upgraded a machine here to run Fedora Core 8 Linux and had a
couple of issues getting GeoNetwork to compile and run that I wanted to
share with anyone embarking on the same course.

First, if you install the default Java which comes with FC8, you'll get
the Java 1.7 icedtea bundle. It doesn't seem to be compatible with
GeoNetwork, not even though it claims to install earlier versions at the
same time. The Java v1.5 seems to be some weird compatibility mode, and
it doesn't work either. At least, I wasn't able to sufficiently grok
how to use the alternatives command to make it work.

To get GeoNetwork to compile and run, I had to completely uninstall all
of the Java-related rpms (which yum and the GUI interface did just
fine), download the Java 1.5.0_14 rpm from Sun, download the ant from
the Apache project and install both of those manually. You also have to
adjust the JAVA_HOME environment variable to point to the install
location of the jdk which, in the case of the 1.5.0_14 rpm file, is
/usr/java/jdk1.5.0_14.

A second issue is a little thornier. It appears that there is a bug in
the Xawt lib that prevents GN from obtaining a lock when it runs and so
it just bails out. The bug is described at
http://www.nabble.com/xcb_xlib_unlock:-Assertion-‘c->xlib.lock’-failed-t4497622.html
along with the following fix:

In a nutshell, whenever Xinerama is enabled, libx11 is unable to
assert an unlock, and dumps. The following workaround to libmawt.so
seems to have worked:

For sun-java5-bin:
sed -i 's/XINERAMA/FAKEEXTN/g'
/usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/xawt/libmawt.so

In my case, the following worked:

$ cd /usr/java/jdk1.5.0_14/jre/lib/i386/xawt
$ cp libmawt.so libmawt.so-safe
$ sed -i 's/XINERAMA/FAKEEXTN/g' libmawt.so

This fixed the problem and GN compiled and ran correctly at this point.

--

Archie

-- Archie Warnock warnock@anonymised.com
-- A/WWW Enterprises www.awcubed.com
-- As a matter of fact, I _do_ speak for my employer.