2015-06-02 107 views
0

使用R 3.2.x(RStudio 0.99.441)在mac 10.10.3上安裝statnet。安裝Statnet軟件包時出現gcc錯誤

ld: warning: directory not found for option '-L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2' 
ld: library not found for -lgfortran 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [latentnet.so] Error 1 
ERROR: compilation failed for package ‘latentnet’ 
* removing ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/latentnet’ 
Warning in install.packages : 
installation of package ‘latentnet’ had non-zero exit status 
ERROR: dependency ‘latentnet’ is not available for package ‘statnet’ 
* removing ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/statnet’ 
Warning in install.packages : 
installation of package ‘statnet’ had non-zero exit status 

我試着更新XCode /命令行工具。還嘗試不安裝依賴項。我已經能夠安裝其他軟件包,比如ergm和sna。

它看起來像安裝正在尋找GCC文件夾,並沒有找到它。

whereis gcc 

表明我的海灣合作委員會是在/ usr/bin中/ GCC

它看起來像安裝是在/ usr/local/lib目錄/ GCC尋找它/

是否有辦法解決這個問題?

回答

1

這是一個編譯錯誤,如果你正試圖從源代碼安裝包,你只能得到,或者當包需要從​​源代碼編譯庫。通常,如果您不使用最新版本的R,則可以從二進制安裝statnet,因此R不必編譯源代碼包。

您在郵​​件開頭提到的版本(0.99.441)是您的R-Studio版本,而不是R.您的R版本是3.2.x(因此它的庫地址在庫文件夾中:/Library/Frameworks/R.framework/Versions/3.2/Resources…)。在嘗試修復編譯錯誤之前,您可能需要嘗試將R回滾到3.1.2或3.1.3版本,您可以在其中下載並安裝statnet二進制格式。

對於編譯器,我的猜測是,即使您使用符號鏈接修復了gcc的地址,您仍然會收到有關gfortran或gcc版本的錯誤。一旦我通過Homebrew安裝R和正確版本的gcc解決了這個問題,但現在我沒有可能嘗試解決方案並告訴你具體如何。

我的經驗(在優勝美地)是,如果你使用3.1.2或3.1.3,即使需要編譯,gcc的錯誤也不會發生。

+0

我有問題發現2.1.2或2.1.3,你有鏈接嗎?這不是在cran上的「舊」回購。 –

+1

Here:http://cran.rstudio.com/bin/macosx/R-3.1.3-snowleopard.pkg – retrography

+0

這是3.1.3不是2.1.3,是故意的嗎? –

0

sudo mkdir /usr/bin/lib && sudo ln -s /usr/bin/gcc /usr/bin/lib/gcc

創建在/ usr/bin中新目錄`LIB」,並創建新的目錄的符號鏈接到GCC。

如果不修正這個錯誤,你可以撤消它:

sudo rm -i /usr/bin/lib/gcc && sudo rm -id /usr/bin/lib

+0

謝謝你嘗試,這個鏈接的作品,但它仍然在尋找一個不在我的gcc安裝的子文件夾,以及一個圖書館'lgfortran'似乎並不存在 –