Issues with installing EPrints on RHEL / CentOS / Rocky 9

From EPrints Documentation
Revision as of 21:22, 30 April 2023 by Drn@ecs.soton.ac.uk (talk | contribs) (perl-IO-String package is no longer available)
Jump to: navigation, search

elinks package is no longer available

The RPM package elinks is no longer available in RHEL / CentOS / Rocky 9 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 tetex-latex wget gzip tar \
   ImageMagick poppler-utils chkconfig unzip cpan python3-html2text

In future versions of EPrints (3.4.5+) EPrints will be switching to use html2text rather than elinks. changeset shows how the places where elinks is used can be changed to switch over to using html2text. To make use of this you will need to add python3-html2text to the DNF command above.

perl-IO-String package is no longer available

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

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

If you are running CentOS 9 (or Rocky 9) you can similarly enable the crb repository:

dnf config-manager --set-enabled crb

Then install perl-IO-String:

dnf install perl-IO-String

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 9, even with EPEL repository enabled. You can enable the Code Ready Builder repository, which still has these packages available:

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

If you are running CentOS 9 (or Rocky 9) you can similarly enable the crb repository:

dnf config-manager --set-enabled crb

perl-Apache-DBI and Pod::LaTeX packages is no longer available

The RPM packages perl-Apache-DBI are no longer available in RHEL / CentOS / Rocky 9 even with EPEL or Code Ready Builder package repository. You can install this using CPAN instead:

cpan Apache::DBI
cpan Pod::LaTeX

Compatibility issues with XML::LibXSLT

Installing XML::LibXSLT either through the perl-XML-LibXSLT or through CPAN causes httpd to generate a segmentation fault when you try to start it. The most straightfoarward 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