首页 > 解决方案 > 使用 Ubuntu 在 wsl 上配置 GHC 7.6.3 版安装时出错:加载共享库时出错:libgmp.so.3:

问题描述

我正在开展一个研究项目,该项目需要使用在旧版 Haskell 和 GHC(特别是 7.6.3)之上运行的软件。我已经设法下载了源代码,但是每当我运行配置脚本(带有任何选项)时,都会出现以下错误:

checking for path to top of build tree... utils/ghc-pwd/dist-install/build/tmp/ghc-pwd: error while loading shared libraries: libgmp.so.3: cannot open shared object file: No such file or directory configure: error: cannot determine current directory

到目前为止,我已经尝试安装任何版本的 libgmp 足够老,它会有一个具有该名称的文件,但我无法找到仍然可用的任何类似的东西。

我还尝试直接从https://launchpad.net/~hvr/+archive/ubuntu/ghc/+packages下载 GHC 7.6.3 的二进制文件(从 GHC 官方网站链接),但是我不熟悉启动板,无法弄清楚如何使用 PPA。

有没有人有一种万无一失的方法来在任何版本的 ubuntu for WSL 上安装旧版本的 GHC?

标签: ubuntuhaskellwindows-subsystem-for-linuxghcgmp

解决方案


我能够弄清楚如何使用官方 GHC PPA

PPA 中的每个 GHC 构建都有一些关联的 .deb 文件,因此当您找到所需的并且具有正确架构的文件时,只需复制链接地址并使用 wget 或 curl 下载文件

wget --no-check-certificate https://launchpad.net/~hvr/+archive/ubuntu/ghc-staging/+build/16234874/+files/ghc-7.6.3_7.6.3-15~14.04_amd64.deb
curl -kOL https://launchpad.net/~hvr/+archive/ubuntu/ghc-staging/+build/16234874/+files/ghc-7.6.3_7.6.3-15~14.04_amd64.deb

然后你可以使用任何你喜欢的方法来安装 .deb 文件。这里描述了几种不同的方法

最后,您需要将二进制文件添加到路径中,因此将以下行添加到您的 .bashrc 文件中

export PATH="/opt/ghc/bin:$PATH"

希望对将来的任何人有所帮助!


推荐阅读