[英]Errors when installing a Perl module using make - Mac OSX 10.7
問題:
我似乎無法正確安裝perl模塊,尤其是JSON-2.53。
我已經完成以下工作:
運行以下命令來制作和安裝所需的perl模塊:
$ perl Makefile.PL
如果安裝JSON :: XS v.2.27,它將使JSON更快。
**************************小心*********************** ***
為JSON編寫Makefile
(驗證已寫入Makefile)
$make
make: *** No rule to make target `/System/Library/Perl/5.12/darwin-thread-multi-2level/CORE/config.h', needed by `Makefile'. Stop.
該錯誤甚至意味着什么? 如何成功make install
此模塊?
以下是一些其他項目,可以幫助您調試此問題:
$which make
/Applications/Xcode.app/Contents/Developer/usr/bin/make
$which perl
/usr/bin/perl
$perl -v
This is perl 5, version 12, subversion 3 (v5.12.3) built for darwin-thread-multi-2level
我認為您需要下載並重新安裝XCode。 如果我正確地記得10.7,那么從應用商店下載Xcode后,它會將安裝程序拖放到“應用程序”文件夾中。 您需要運行它,然后嘗試再次安裝命令行工具(從Xcode的偏好面板)。 我知道您提到您已經這樣做了,但是更多背景知識可能會解釋為什么值得再次嘗試。
這是Mac上Makefile中的相關行:
PERL_INC = /System/Library/Perl/5.12/darwin-thread-multi-2level/CORE
# Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h
稍后在Makefile中,CONFIGDEP用作目標中的依賴項。 我相信在您的情況下,make正在尋找/System/Library/Perl/5.12/darwin-thread-multi-2level/CORE/config.h,但找不到它。 您看到的錯誤是make的鈍器,表示找不到文件。
config.h包含有關操作系統的特定信息,但運行腳本不需要。 僅當您要編譯模塊時才引用它。 使用股票OSX,您可以獲得執行腳本所需的足夠的Perl。 安裝XCode,您將獲得執行perl“開發”的位(如config.h)。 我使用引號是因為您無需Xcode就可以編寫和運行perl腳本。 但是,正如您發現的那樣,編譯模塊需要Xcode提供的其他文件。 (順便說一句,RedHat也做同樣的事情。您必須安裝perl-devel軟件包才能獲得config.h。perl運行時位於單獨的軟件包中。)
您可以嘗試以下操作:
sudo make
作為旁路。 磁盤實用程序(位於“應用程序”->“實用程序”中)可以永久解決此問題。 我遇到了完全相同的錯誤,雖然這可能不是您的解決方案。...重新安裝與OSX版本兼容的更新的xcode(在安裝后重新引導)后,我仍然有錯誤-簡而言之,我注意到錯誤后/ CORE /中沒有config.h .....有效的解決方案是觸摸config.h並先創建文件,然后重新運行make。 希望這對某人有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.