Issues with installing EPrints on RHEL / CentOS / Rocky 8

From EPrints Documentation
Revision as of 11:18, 24 September 2023 by Drn@ecs.soton.ac.uk (talk | contribs) (Updated instructions for XML::LibXSLT)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

elinks package is no longer available

The RPM package elinks is no longer available in RHEL / CentOS / Rocky 8 even with EPEL package repository. elinks is only needed if are intending to upload web pages or XML files and these need to be indexed by EPrints, so if installing from source use the following DNF command line:

dnf install libxml2 libxslt httpd mod_perl perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL perl-Time-HiRes \
   perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-JSON perl-XML-LibXML perl-XML-LibXSLT perl-XML-SAX \
   perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate perl-Pod-LaTeX tetex-latex wget \
   gzip tar ImageMagick poppler-utils chkconfig unzip cpan

Alternatively, for RHEL 8 you can enable the codeready-builder repository, which still has elinks available:

subscription-manager repos --enable "codeready-builder-for-rhel-8-$(arch)-rpms"

If you are running CentOS 8 (or Rocky 8) you can similarly enable the powertools repository:

dnf config-manager --set-enabled powertools

perl-IO-String package is no longer available

The RPM package perl-IO-String is no longer available in RHEL / CentOS / Rocky 8 even with EPEL package repository. You can enable the codeready-builder repository, which still has perl-IO-String available:

subscription-manager repos --enable "codeready-builder-for-rhel-8-$(arch)-rpms"

If you are running CentOS 8 (or Rocky 8) you can similarly enable the powertools repository:

dnf config-manager --set-enabled powertools

Sub-dependency packages perl-MIME-Types and perl-Digest-SHA1 are no longer available

perl-MIME-Lite package requires perl-MIME-Types package and perl-Apache-DBI requires perl-Digest-SHA1 package neither of which available on RHEL / CentOS / Rocky 8, even with EPEL repository enabled. You can enable the codeready-builder repository, which still has these packahes available:

subscription-manager repos --enable "codeready-builder-for-rhel-8-$(arch)-rpms"

If you are running CentOS 8 (or Rocky 8) you can similarly enable the powertools repository:

dnf config-manager --set-enabled powertools

Compatibility issues with XML::LibXSLT

Installing XML::LibXSLT either through the perl-XML-LibXSLT RPM or CPAN causes httpd to generate a segmentation fault when you try to start it. The most straightfarward solution to this is to run httpd in mpm-prefork rather than mpm-event mode. This can be acheived by editing /etc/httpd/conf.modules.d/00-mpm.conf and commenting out the following line:

LoadModule mpm_event_module modules/mod_mpm_event.so

and uncommenting the mpm-prefork line:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

The alternative solution is to make sure that XML::LibXSLT is not installed through the perl-XML-LibXSLT RPM or CPAN. EPrints will still run without this but you will not be able to use XSLT-based import plugins. Unless you have installed any additional import plugins, the only ones affected are Atom XML and OpenXML Bibliography.