2012-01-04 69 views
8

在opencsw.org軟件包上運行Perl 5.10 CPAN,軟件包中的Makefile.PL找不到正確的路徑和cc(gcc)。如何告訴CPAN關於製作路徑和cc

我找到了製作路徑並將其設置爲gmake,但我找不到cc的任何設置。

我以爲我曾經在CPAN/Config.pm(或o config ...)中設置過此值,但無法再找到任何設置,並且沒有足夠的耐心來穿過叢叢來弄清楚這樣一個地方基本的東西被設置。

有誰知道嗎?

回答

10

cpan不需要知道在哪裏gcc或等價物,因爲它不是cpan的工作直接調用它。通常是Makefile.PLBuild.PL需要知道,它通常會接受編譯器作爲命令行參數使用。如果您添加PERLMAINCC=/compiler/to/useo conf makepl_arg應該這樣做。

+0

Config.pm就是這個被設置並確定每個Makefile.PL看到的東西。但你回答了我的問題。謝謝! – 2013-12-09 06:10:25

2

擴展需要使用與Perl本身相同的工具來構建,Perl會記住這些工具。

如果你已經刪除或移動它們,那可能是一個問題。

但是更有可能的是,您尚未從您的發行版安裝提供它們的軟件包。安裝缺少的軟件包。 (通過或o conf

+0

我在Solaris 10上,我的發行版是opencsw.org。 Perl 5.8來自原始的Solaris軟件包,但我的路徑中第一個使用Perl 5.10的軟件來自OpenCSW。我也安裝了gcc和gmake,並可以從命令行運行它們。 – 2012-01-05 06:38:53

2

cpan_home/CPAN/Config.pm

'make_arg' => q[CC=/path/to/c-compiler] 
+0

在嘗試構建Net :: SSLeay的集羣環境中遇到此問題,其中系統'cc'太舊,並且不支持'-fstack-protector-strong'選項。在這種情況下,將'make_arg'設置爲'CC = gcc'(我的'$ PATH'中的更新版本)是正確的解決方案。 – TheDudeAbides 2018-02-09 22:09:42