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

我正在尝试首次在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)添加丢失的符号链接:

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上安装ghc二进制文件(找不到libgmp.so) 的全部内容, 来源链接: utcz.com/qa/424422.html

回到顶部