2013-08-02 31 views
0

我在RHEL 5.9服務器上使用ActivePerl 5.16。我已經設置了PATH變量,以便首先找到ActivePerl可執行文件。現在我試圖編譯mod_perl.so。但是,命令perl Makefile.PL MP_APXS=/usr/sbin/apxs生產:使用apache2和ActivePerl 5.16編譯mod_perl?

I have found ExtUtils::Embed 1.3001 at 

    /opt/ActivePerl-5.16/lib/ExtUtils/Embed.pm 

This is probably not the right one for this perl version. Please make sure 
there is only one version of this module installed and that it is the one 
that comes with this perl version. 

If you insist on using the ExtUtils::Embed as is set the environment 
variable MP_USE_MY_EXTUTILS_EMBED=1 and try again. 

Details: expecting ExtUtils::Embed 1.30 (according to Module::CoreList) 

BEGIN failed--compilation aborted at lib/Apache2/Build.pm line 64. 
Compilation failed in require at Makefile.PL line 37. 
BEGIN failed--compilation aborted at Makefile.PL line 37. 

我有點糊塗了這一切......我是一個Perl的初學者,我只是想獲得一些軟件(這在很大程度上基於Perl的),並在我的服務器上運行。有什麼建議?

+0

你是否嘗試設置環境變量'MP_USE_MY_EXTUTILS_EMBED = 1'就像它說的那樣?不知道會做什麼,但它不會受傷 – chilemagic

+0

在最後的設置'MP_USE_MY_EXTUTILS_EMBED = 1'似乎工作。事實上,我剛從網站上下載ActivePerl 5.16並安裝它,並用新的cpan下載了所有必要的模塊。 – Alasdair

回答

0

使用ActivePerl的要點是能夠使用ppm。不幸的是,根據mod_perl 2.0.8 status page,它不能從ppm存儲庫中獲得。

症狀確實表明有些奇怪。顯然ExtUtils :: Embed 1.31來自5.19.2發行版。你的安裝似乎確實有問題。

+0

自1.30發佈Perl之後,我認爲這很奇怪5.17.4 – chilemagic

+0

我不知道什麼或者什麼原因會出錯:我下載並安裝了ActivePerl 5.16,並更改了我的路徑以使用這個新安裝。然後我使用我的新ActivePerl安裝中的'cpan'來安裝各種模塊。不過,我們將看看我的彙編如何... – Alasdair

0

我會發布這個作爲答案,因爲它似乎工作。要糾正這個錯誤,設置環境變量:

MP_USE_MY_EXTUTILS_EMBED=1 

CPAN可能安裝,而不是將已經發布用Perl 5.16的一個最新版本,您下載的模塊。這個環境變量必須告訴mod_perl期望ExtUtils :: Embed 1.31而不是1.30。

相關問題