gpt4 book ai didi

linux - 在 Linux 上安装 ghc 二进制文件(找不到 libgmp.so)

转载 作者:IT王子 更新时间:2023-10-29 00:13:36 25 4
gpt4 key购买 nike

我是第一次尝试在 Linux 上安装 Haskell 平台(我也是一个相当新的 Linux 用户)。受害者系统是一个全新的 Red Hat 系统。这里涉及的所有内容都应该是 64 位的。

平台网站 [1] 上的说明表明我需要一个 ghc7.0.3 来支持一些东西。他们提供了指向 ghc-7.0.3 通用二进制文件的链接来执行此操作。我拿了这个然后跑了

$ ./configure ...
$ make install ...

按照没有意外的方向(它是一个二进制文件,所以不需要编译)但是,当我尝试运行 ghci 时,我得到了输出。

$ ghci
GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... <command line>: can't load .so/.DLL for: gmp (libgmp.so: cannot open shared object file: No such file or directory)

由于某些原因 ghci 找不到 libgmp.so。运行 ghci 最终调用

  /usr/local/lib/ghc-7.0.3/ghc

有很多选择。我通过 ldd 检查了依赖项

$ ldd /usr/local/lib/ghc-7.0.3/ghc
linux-vdso.so.1 => (0x00007fffe5f5c000)
libncursesw.so.5 => /lib64/libncursesw.so.5 (0x0000003ee7000000)
librt.so.1 => /lib64/librt.so.1 (0x0000003ee5800000)
libutil.so.1 => /lib64/libutil.so.1 (0x0000003ef3000000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003ee5000000)
libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x0000003ee4400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003ee4c00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ee5400000)
libc.so.6 => /lib64/libc.so.6 (0x0000003ee4800000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003ef3400000)
/lib64/ld-linux-x86-64.so.2 (0x0000003ee4000000)

它表明它找到了 libgmp。 libgmp 在/usr/local/lib 和/usr/local/lib64 中。我不确定如何进一步解决这个问题。有什么建议吗?

[1] http://hackage.haskell.org/platform/linux.html

最佳答案

您可以将 /usr/local/lib 和/或 /usr/local/lib64 添加到 $LD_LIBRARY_PATH,或者将它们添加到/etc/ld.so.conf,或者(因为您已经有了 /usr/lib64/libgmp.so.3)添加缺少的符号链接(symbolic link):

cd /usr/lib64
sudo ln -s libgmp.so.3 libgmp.so

(对于/usr/lib 可能也是如此)。

请注意/usr/lib64/libgmp.so.3 可能与/usr/local/lib64/libgmp.so 是不同的版本,确保 ghc 实际上可以与前者一起使用。

关于linux - 在 Linux 上安装 ghc 二进制文件(找不到 libgmp.so),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com