2011-11-10 89 views
13

所以我想建立一個用於Haskell開發的Linux機器,但有一個巨大的缺陷 - 在這臺機器上沒有root權限。我們當然可以讓管理員爲我們安裝GHC,最終。但是,從長遠來看,當我們想要升級時,我們需要討論它們,等等,以便在用戶區完成所有任務。這也意味着我們要安裝我們鏈接到用戶空間的c庫文件,等等,讓所有的東西儘可能無憂無慮。GHC無根安裝

所以,問題是,我會怎麼做一個純粹的GHC用戶級安裝?該機器將具有gcc和通常的工具鏈。如果有必要,我們可以從一個典型的ghc安裝開始,讓球滾動,但它不會很好。

此外,有關管理這樣的環境的任何提示將不勝感激,尤其是涉及如何使用多個開發人員/帳戶可以管理此類設置。

回答

4

你顯然需要一個目錄,所有相關的用戶至少有讀取權限。說/ home/foo,帶有子目錄bin,lib,share,.cabal。然後./configure --prefix=/home/foo和& & make install,並確保/ home/foo/*位於每個人的PATH,LIBRARY_PATH等中的/ usr/*之前。您應該從安裝gcc和c-libs開始,當C安裝好後,安裝ghc。

+0

特別是,您需要安裝http://haskell.org/ghc/download_ghc_7_2_1#binaries中的二進制ghc發行版,因爲您需要使用ghc來引導自編譯。 –

6

我也是這樣做的。我創建了一個目錄~/usr並將--prefix=$HOME/usr傳遞給了所有的配置腳本。使用Haskell平臺使這個過程更加平滑。

1

我設法通過堆棧安裝ghc following these instructions。它像一個魅力一樣工作。我唯一需要做的事情是安裝the GMP library並將其添加到LD_LIBRARY_PATH

+0

你確定這在某些時候不需要root權限嗎?安裝Stack的標準方法都是這樣做的,AFAIK。 – leftaroundabout

+0

我沒有這臺機器的root權限,所以是的,我確信:-)我鏈接到的指令只是下載一個二進制版本的堆棧,然後堆棧直接下載GHC和GHCI,並將它們放入其中〜/ .stack目錄。 – Nicole

+0

@leftaroundabout,鏈接的指令看起來像他們將堆棧安裝在用戶特定的目錄中。 – dfeuer