2013-01-08 67 views
0

爲了使用一段時間未更新的特定庫,我想在Linux Mint 14下使用較老版本的R(2.3.1)。 我得到了源文件,安裝了所需的庫;與檢查:編譯錯誤構建R的舊版本

apt-cache showsrc r-base | grep Build-Depends 

併發出,如R-管理員的幫助頁面指示,命令:

./configue 

,沒有差錯地結束;然後

make 

與以下錯誤消息終止:

In file included from datetime.c:95:0: 
Rstrptime.h:201:12: erreur: conflicting types for ‘wcsncasecmp’ 
In file included from ../../src/include/Defn.h:928:0, 
      from datetime.c:58: 
/usr/include/wchar.h:172:12: note: previous declaration of ‘wcsncasecmp’ was here 

有誰知道什麼trigered的錯誤(文件datetime.c和wchar.h之間衝突的類型,如果我沒有理解好),和我怎麼能繼續編譯過去這個錯誤。

在此先感謝您的幫助。

回答

0

問題是R 2.3.1很老,而且是在考慮到老的C庫的情況下開發的。隨着最近的Linux安裝,你有新的C庫可能不適合你的舊R版本。你可以做些什麼:

  • 從R版本開始,例如在虛擬機中安裝舊版本的linux。
  • 將軟件包移植到您自己的新版本R中。

第二個選項需要更多時間,但會使您基於包的工作更具前瞻性。

+0

感謝您的回答;我怎麼能做你的第二個選擇?通過重建包裹?問題:有一個與包關聯的數據文件,不再被識別爲有效的S4對象,並且我沒有原始數據將該對象重建爲有效的S4對象。有沒有一種程序可以讓我將那個過時的S4對象轉換爲與當前版本的R兼容的有效S4對象? – user1706600

+0

我認爲最好打開一個新的問題,專門將此軟件包移植到最新版本的R.請記住,您需要該軟件包的源代碼版本才能使其工作... –

+0

感謝您的幫助;不幸的是,我沒有這個包的來源;所以我想我留下的唯一方法是在虛擬機中安裝舊版本的Linux。 – user1706600