GHC編譯6.12需要GHC二進制可編譯本身。有預編譯的GHC二進制文件可用,但它們是針對較新的glibc版本構建的
RHEL 5有glibc 2.5,因此您可以使用GHC 6.8和bootstrap。通常GHC可以使用$ VERSION-2或更新版本(精確版本爲documented with the source downloads)自舉。
您還需要更新版本的gcc。 @ alex-iliev建議使用gcc 4.3就足夠了,這可以在RHEL 5上找到。您的替代方案是使用Gentoo Prefix來安裝最新的gcc。
下載並安裝目錄中的預編譯6.8:
wget http://www.haskell.org/ghc/dist/6.8.3/ghc-6.8.3-x86_64-unknown-linux.tar.bz2
bunzip2 ghc-6.8.3-x86_64-unknown-linux.tar.bz2
tar -xf ghc-6.8.3-x86_64-unknown-linux.tar
cd ghc-6.8.3
mkdir ~/ghc_bootstrap_6_8
./configure --prefix=/home/wilfred/ghc_bootstrap_6_8/
make install
編譯6.12:
wget http://www.haskell.org/ghc/dist/6.12.3/ghc-6.12.3-src.tar.bz2
bunzip2 ghc-6.12.3-src.tar.bz2
tar -xf ghc-6.12.3-src.tar
cd ghc-6.12.3
mkdir ~/ghc_bootstrap_6_12
PATH=/home/wilfred/ghc_bootstrap_6_8/bin:$PATH ./configure --prefix=/home/wilfred/ghc_bootstrap_6_12/
make
make install
編譯7.2和7.6是相同的過程6.12。編譯可能需要幾個小時,所以你可能想看看quick builds(儘管你會想要最終的GHC版本的正常版本)。
如果你確實下了Gentoo Prefix根目錄,只需引導你到GHC 7.2。然後,您可以修改$EPREFIX/usr/portage/eclass/ghc-package.eclass
添加一行:
PATH=/home/wilfred/ghc_bootstrap_7_2/bin:$PATH
然後只需添加ghcbootstrap
到您的USE標誌和:
emerge --nodeps ghc
我有一個存在的證據證明它*能*做,但我需要一些與他人一起檢查我們是否記得如何重複這個過程。 – acfoltzer
太棒了......如果你能收集遺失的東西,請發佈證明。真的可以幫助我們在工作中採用更新版本的GHC。 – Sal
@acfoltzer,任何運氣收集證據?非常感謝,如果你有它,並可以分享。 – Sal