My longtime-redhat-user two cents:
 
Don't touch the system perl (5.8.0). RPM probably won't let you.
 
It seems you're headed in the right direction. Just keep moving.
Get the apache and mod_perl sources and recompile into /usr/local.
You may want to uninstall your RPM packages for apache and mod_perl
to keep from getting confused with two versions of everything.
 
This is standard procedure here. We never use the RedHat packages.


From: Kaplan, Andrew H. [mailto:[EMAIL PROTECTED]
Sent: Monday, February 27, 2006 3:21 PM
To: modperl@perl.apache.org
Subject: Problem Recompiling mod_perl

Hi there –

 

I am going through the motions of recompiling mod_perl on a Red Hat Enterprise 3 server. The server was originally configured with Perl 5.8.0, but the application

which I am trying to install requires Perl 5.8.3 or later. I downloaded the source code for version 5.8.8 and installed it onto the system. The server currently has

two versions of Perl where the libraries for version 5.8.0 are located in /usr/lib/perl5, and those for version 5.8.8 are located in /usr/local/lib/perl5. The 5.8.0 binary

was located in the /usr/bin directory. I had renamed the binary to perl_orig and created a symbolic link to the /usr/local/bin/ directory where the latter version is located.

 

After compiling mod_perl, I modified the httpd.conf file to include the following information:

 

<VirtualHost ip address:80>

        ServerName hostname

        ServerAdmin email address

        DocumentRoot /var/opt/rt3/share/html

        ErrorLog /usr/local/apache/logs/rt_error_log

        ErrorLog /usr/local/apache/logs/rt_error_log

</VirtualHost>

 

and

 

Alias /rt /opt/rt3/share/html

    <Location /rt>

        AddDefaultCharset UTF-8

        SetHandler perl-script

        PerlHandler RT::Mason

        PerlModule Apache::DBI

        PerlRequire /opt/rt3/bin/webmux.pl

    </Location>

 

Whenever I try to start the server with the above information, I get the following error:

 

Syntax error on line 577 of /usr/local/apache_1.3.perl/conf/httpd.conf:

Can't locate Apache/DBI.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 . /usr/local/apache/ /usr/local/apache/lib/perl) at (eval 5) line 3.

 

Line 577 corresponds to the PerlModule Apache::DBI line. I verified the Apache::DBI module has been installed.

 

I tried renaming the /usr/lib/perl5 directory, and creating a symbolic link to  /usr/local/lib/perl5, but that caused the Apache server to not be able to start. The error message I got in this case is the following:

 

/usr/local/apache_1.3.perl/bin/httpd: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory

/usr/local/apache/bin/apachectl start: httpd could not be started

 

I need to recompile mod_perl to use the 5.8.8 libraries. One idea I had was uninstalling perl 5.8.0 completely from the system. Does anyone have insights into this? Thanks.

 

 

 

Reply via email to