[rt-users] Trouble/Error with Web deployment httpd/apache/mod_fcgid
Bill Cole
rtusers-20090205 at billmail.scconsult.com
Mon Nov 23 16:06:49 EST 2015
On 23 Nov 2015, at 11:02, dwdixon wrote:
> I'm not an Apache/httpd configuration
> expert especially when modules are involved so I would GREATLY
> appreciate
> any and all help:
>
> ****************************************************************************
> Can't locate UNIVERSAL/require.pm in @INC (@INC contains:
> /opt/rt4/sbin/../local/lib /opt/rt4/sbin/../lib /usr/local/lib64/perl5
> /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
> /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
> /opt/rt4/sbin/../lib/RT.pm line 60.
> BEGIN failed--compilation aborted at /opt/rt4/sbin/../lib/RT.pm line
> 60.
> Compilation failed in require at /opt/rt4/sbin/rt-server.fcgi line 86.
> ****************************************************************************
As others have noted, using CPAN on CentOS 7 can be sketchy. It's very
easy to be drawn into installing modules locally under /root/perl5/
where normal Perl programs won't ever see them or clobbering files owned
by yum-installed packages. Care is needed...
For the immediate issue, you can resolve the problem by enabling the
EPEL repository for yum (see https://fedoraproject.org/wiki/EPEL) and
installing the needed module:
yum install perl-UNIVERSAL-require
HOWEVER, since you have had stuff installed (presumably by CPAN and a
local::lib configuration) in a private place only for use by root with
suitable variables in the environment, you probably want to fix that[1]
and install everything possible for RT via yum, filling in whatever is
missing with CPAN *NOT* using a private module tree. I recently did this
for a RT4.4rc1 install on CentOS 7 by massaging the output of "make
testdeps" into a whopping huge yum command[2]:
make testdeps |fgrep MISSING |egrep -v ' (owner|group) |>=5\.10\.'|awk
'{print $1}'|sort -u |sed 's/::/-/g'|sed 's/^/perl-/'| xargs -rt yum
list|grep '^perl-' |awk '{print $1}' |xargs -rt yum install -y
Following that (go get a cup of coffee, it will be a while...) you MAY
still have unmet dependencies, since RT demands various modules and
versions of modules that the EPEL and "base" repos don't have. Those can
be installed from CPAN (or 'make fixdeps') after "yum erase"-ing any
too-old versions that were installed with yum.
FOOTNOTES:
[1] Wipe the private tree for root:
rm -rf /root/perl5/
Remove any lines from /root/.bashrc or /root/.bash_profile like
these
which set up the relevant environment variables for local::lib :
export PERL_LOCAL_LIB_ROOT="$PERL_LOCAL_LIB_ROOT:/root/perl5";
export PERL_MB_OPT="--install_base /root/perl5";
export PERL_MM_OPT="INSTALL_BASE=/root/perl5";
export PERL5LIB="/root/perl5/lib/perl5:$PERL5LIB";
export PATH="/root/perl5/bin:$PATH";
[2] ARE YOU CRAZY? Don't just run that because I said so! Be sure you
understand what it DOES! Test it by breaking the pipeline before that
last xargs and see if what it's going to install seems sane FOR YOUR
SYSTEM.
More information about the rt-users
mailing list