View previous topic :: View next topic |
Author |
Message |
vladzz n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 08 May 2006 Posts: 6 Location: Adelaide, South Australia
|
Posted: Tue May 23, 2006 10:16 pm Post subject: mod_perl not finding lib.pm |
|
|
Hi guys, I need your help. I have installed apache2 and mod_perl but seem to be having a problem apache2 won't start up. It keeps looking for a lib.pm file this exists in /usr/lib/perl5/5.8.7/i586-linux but when I look at the error logs it gives me the paths where its looking and in there is /usr/lib/5.8.7/i386-linux but not the i586-linux one. How do I change the perl runtime or whatever to include looking in that other place as well for perl libraries. Or do I need to unmerge mod_perl and recompile it with different USE flags or something????
thanks,
vlado _________________ http://www.vladzz.com |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
BitJam Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 12 Aug 2003 Posts: 2513 Location: Silver City, NM
|
Posted: Wed May 24, 2006 3:55 am Post subject: |
|
|
Something is screwy. As a quick fix you could try putting in a symlink from the missing directory to the existing one: Code: | # cd /usr/lib/perl5/5.8.7
# ln -s i586-linux i386-linux |
To actually fix the problem you should first do a perl -V outside of mod_perl: Code: | # perl -V
[snip a lot of stuff but at the bottom is:]
@INC:
/etc/perl
/usr/lib/perl5/site_perl/5.8.7/i686-linux
/usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux
/usr/lib/perl5/vendor_perl/5.8.7
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.7/i686-linux
/usr/lib/perl5/5.8.7
/usr/local/lib/site_perl
. |
If this is the same set of paths as in the mod_perl error then there is something wrong with your Perl installation. Or alternatively you could run the following to just print out @INC and check that all its paths exist: Code: | # ls -d -1 $(perl -e 'print "@INC"')
ls: /etc/perl: No such file or directory
.
/usr/lib/perl5/5.8.7
/usr/lib/perl5/5.8.7/i686-linux
/usr/lib/perl5/site_perl
/usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl/5.8.7/i686-linux
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/vendor_perl/5.8.7
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux
/usr/local/lib/site_perl |
I'm missing /etc/perl but I'm not worried about it.
I looked at the Perl ebuild and it looks like the name of your missing directory is controlled by the $myarch variable. It looks like the ebuild handles this properly and the directory should match @INC (unless mod_perl is screwing with @INC). This in turn comes from CHOST in your make.conf (I think). If you've had past problems with CHOST you might want to just try re-emerging Perl.
Finally, I looked at the mod_perl ebuild and found that it uses the following command to find the directory in question: Code: | # perl '-V:installvendorarch'
installvendorarch='/usr/lib/perl5/vendor_perl/5.8.7/i686-linux'; |
On my system, it all looks very consistent. I don't have a definite answer for you but I hope something I've said here is of some use to you. Try the symlink as a quick fix and you can try re-emerging Perl with the correct CHOST in make.conf to fix the problem (if mod_perl is not changing @INC). |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
vladzz n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 08 May 2006 Posts: 6 Location: Adelaide, South Australia
|
Posted: Wed May 24, 2006 5:51 am Post subject: |
|
|
Im using a VIA min itx motherboard so my CPU is meant to be set as i586-linux in the make.conf file. I have done this but for some reason during the perl or mod_perl process it seems to set it to a i386-linux. I don't know why. I tried rebuilding perl and that didn't help.
I am wondering if during the emerge process you can override the CHOST flag or in the output of the emerge see what it is using for chost. _________________ http://www.vladzz.com |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
BitJam Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 12 Aug 2003 Posts: 2513 Location: Silver City, NM
|
Posted: Wed May 24, 2006 6:28 am Post subject: |
|
|
This is strange. I just did an emerge --sync and an emerge -uDN world and my Perl got updated. In the old ebuild they used the function: get_abi_CHOST to get the CHOST but in the new ebuild they now use simply ${CHOST} so it could be that the 5.8.8 version will fix your problem.
What I don't understand is why the directories use one value and @INC inside of Perl uses a different value. It should have been consistent regardless of how the $myarch variable was created.
Anyway, another package got emerged called perl-cleaner and the perl emerge suggested that I run it. I want to wait until the emerge world gets done before running it. That probably won't happen until tomorrow. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
vladzz n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 08 May 2006 Posts: 6 Location: Adelaide, South Australia
|
Posted: Wed May 24, 2006 11:23 am Post subject: |
|
|
I tried rebuilding perl and then mod_perl and using perl-cleaner and it still looks in the wrong spot for my perl libraries i386-linux not i586-linux. _________________ http://www.vladzz.com |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
BitJam Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 12 Aug 2003 Posts: 2513 Location: Silver City, NM
|
Posted: Wed May 24, 2006 3:51 pm Post subject: |
|
|
I think it is time to issue a bug report. There is a link to bugzilla at the bottom of all forum pages. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
vladzz n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 08 May 2006 Posts: 6 Location: Adelaide, South Australia
|
Posted: Sat May 27, 2006 12:07 pm Post subject: |
|
|
Well I had a few issues with this and I think I would a possible solution run the following:
emerge libtool
fix_libtool_files.sh 3.4.5 --oldarch i386-pc-linux-gnu
gcc-config 1
env-update && source /etc/profile
emerge python
then
emerge mod_perl
I think my chost stuff was all stuffed up because I used livecd or something and it didn't recompile all my lib's properly for my i586 processor. _________________ http://www.vladzz.com |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|