Installing GDOME on Debian

From EPrints Documentation
Revision as of 15:05, 2 March 2006 by WikiSysop (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Installing XML::GDOME on Debian Sarge

Unfortunately, Debian Sarge does not contain the @@XML::GDOME@@ module in prepackaged form. However, most of the dependencies are available in Debian packages, which makes the installation process a little easier. Here are the prepackaged dependencies, in addition to those packages required to support the base of ePrints:

  • Perl packages:
    • libxml-sax-perl
    • libxml-namespacesupport-perl
    • libparse-yapp-perl
    • libio-pty-perl
    • libxml-libxml-common-perl
    • libxml-regexp-perl
    • libxml-dom-perl
  • Other packages:
    • libgdome2-dev
    • libxml2-dev

Once these packages are installed, start the CPAN shell (@@'perl -MCPAN -e shell'@@) and download ('get') @@XML::GDOME@@.

Unfortunately, the Makefile.PL in the @@XML::GDOME@@ package relies on the gdome-config tool to set the -I flags to pass to the C-Compiler. Unfortunately, this doesn't include the libglib headers, which causes the compile to fail. To fix this, change into the @@[=.cpan/build/XML-GDOME-x.xx=]@@ directory.

Then edit line 23 of Makefile.PL which reads:

@@{INC} ||= backtick('gdome-config --cflags');@@

It should read:

@@{INC} ||= backtick('gdome-config --cflags')." -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include";@@

Note the spaces

!!!!NOTE: the gdome-config script could be wrong. Edit the file and modify:

the_libs="$the_libs -L${exec_prefix}/lib -lgdome `xml2-config --libs`"

the_flags="$the_flags -I${prefix}/include -I${prefix}/include/libgdome `xml2-config --cflags` "

Then run 'perl Makefile.PL' and 'make'

Then run 'make test'. I found that two tests (@@01_basic_t@@ and @@09_sax_t@@) failed at this point. However, the former failed due to the unexpected presence of @@XML::Namespace@@ and the latter failed only because pretty-printing was turned off. Despite these failed tests, I observed no operational problems.

Finally, run 'make install', change @@[=$EPRINTS_DIR/perl_lib/EPrints/]@@ to enable GDOME, restart Apache and regenerate the site's static content.