在 CM4 上安装 haskell 环境

想要把 Haskell 的软件移植到 CM4 上面,需要在 CM4 上面构建出 haskell 的编译环境。
首先我们下载最新版的 haskell 编译器。

wget https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-aarch64-deb10-linux.tar.xz

我系统安装的是 aarch64 系统,所以也相应的下载 aarch64 的安装包。

tar xvf ghc-8.10.4-aarch64-deb10-linux.tar.xz
cd ghc-8.10.4
./configure
make install

这样子 GHC 就安装完成了。

接下来要安装 cabal-install。

GHC-8.10.4 用的是 Cabal 3.2.1.0 对应的 cabal-install 是 3.2.0.0

wget https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0.tar.gz 
tar xvf cabal-install-3.2.0.0.tar.gz
cd cabal-install-3.2.0.0

在 GHC-8.10.4 上 cabal-install 是没有办法直接安装的需要对一些依赖看进行修改才能安装成功。我将补丁写好如下:

233c233
< HTTP_VER="4000.3.15";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
---
> HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
235c235
< ZLIB_VER="0.6.2.3";    ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
---
> ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
243c243
< HASHABLE_VER="1.3.1.0"; HASHABLE_VER_REGEXP="1\."
---
> HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
245c245
< ASYNC_VER="2.2.3";     ASYNC_VER_REGEXP="2\."
---
> ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
253c253
< RESOLV_VER="0.1.2.0";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
---
> RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
263c263
< HACKAGE_SECURITY_VER="0.6.0.1"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
---
> HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
265c265
< TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
---
> TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
269c269
< LUKKO_VER="0.1.1.3";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
---
> LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"

打完补丁后我们执行,./bootstrap.sh

在执行的过程中,会出现错误,需要在执行的过程中,安装相关的依赖。

最后安装 stack 构建工具

export PATH=$HOME/.cabal/bin:$PATH
cabal-install stack

CM4 的内存如果小于 8G 的话安装 stack 会内存不足而失败。

我需要给 CM4 添加交换分区

dd if=/dev/zero of=swap bs=1024 count=4096000
mkswap swap
chmod 0600 swap
swapon swap
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容