POWER8 RHEL7.9系统安装Cabal遇ppc64le架构不识别问题求助
在POWER8 RHEL 7.9(ppc64le)上安装Haskell及Cabal的解决方案
由于ghcup官方脚本暂不支持ppc64le架构,无法通过默认脚本完成安装,以下是两种可行的替代方案:
方案一:源码编译安装(版本可控,兼容性强)
1. 安装编译依赖
先配置好基础编译环境:
sudo yum install -y gcc gcc-c++ make gmp-devel libffi-devel zlib-devel git
2. 编译安装GHC(Haskell编译器)
选择经过验证可在ppc64le上编译的GHC版本(以8.10.7为例):
- 克隆源码仓库并切换到对应版本分支:
git clone --recursive --branch ghc-8.10.7 https://git.haskell.org/ghc.git cd ghc
- 初始化编译配置:
./boot ./configure --prefix=/usr/local/ghc-8.10.7
- 开始编译(POWER8编译耗时较长,建议后台执行):
make -j$(nproc) sudo make install
- 将GHC加入系统环境变量:
echo 'export PATH=/usr/local/ghc-8.10.7/bin:$PATH' >> ~/.bashrc source ~/.bashrc
3. 编译安装Cabal
基于已安装的GHC编译Cabal(选择与GHC版本兼容的3.6.2.0版本):
- 下载并解压Cabal源码包:
wget https://downloads.haskell.org/~cabal/cabal-install-3.6.2.0/cabal-install-3.6.2.0.tar.gz tar -xf cabal-install-3.6.2.0.tar.gz cd cabal-install-3.6.2.0
- 执行编译脚本:
./bootstrap.sh
- 将编译好的Cabal可执行文件移至系统路径:
sudo cp dist-newstyle/build/ppc64le-linux/ghc-8.10.7/cabal-install-3.6.2.0/x/cabal-install/build/cabal/cabal /usr/local/bin/
- 验证安装结果:
ghc --version cabal --version
方案二:通过EPEL+Copr仓库安装(快捷但版本有限)
利用第三方仓库获取预编译包,适合不需要特定版本的场景:
1. 启用仓库
sudo yum install -y epel-release sudo yum install -y https://copr.fedorainfracloud.org/coprs/petersen/ghc/repo/epel-7/petersen-ghc-epel-7.repo
2. 直接安装GHC和Cabal
sudo yum install -y ghc cabal-install
- 验证安装:
ghc --version cabal --version
内容的提问来源于stack exchange,提问作者Morag Hughson
相关产品推荐
相关产品推荐

