4

我从源代码编译了 ldc2 和 gdc 并一直工作到一个月前。什么都没有改变,除了我不记得我会在终端中设置的让 ldc2 和 gdc 工作的变量。

尝试编译 D 源代码时出现以下错误;

全球数据中心:

$ /home/Code/D/gdc/Bin/usr/local/bin/gdc -o t4 t4.d /home/Code/D/gdc/Bin/usr/local/bin/../libexec/gcc/x86_64 -unknown-linux-gnu/4.4.5/cc1d:加载共享库时出错:libmpfr.so.1:无法打开共享对象文件:没有这样的文件或目录

最不发达国家2:

$ /home/Code/D/ldc2/bin/ldc2 -o t4 t4.d /home/Code/D/ldc2/bin/ldc2:加载共享库时出错:libconfig++.so.8:无法打开共享对象文件:没有这样的文件或目录

我不记得它只是对 PATH 的补充还是对 DFLAGS 的补充。有任何想法吗?


编辑:重新编译 LDC2 和 GDC 解决了这个问题,但我仍然不知道为什么会出现错误。

4

2 回答 2

1

LDC 的错误意味着您在编译后(重新)移动了 libconfig++。PATH并且DFLAGS是不相关的,但正如丹在他的回答中指出的那样,LD_LIBRARY_PATH可用于向搜索路径添加额外的位置。

如果您出于某种原因想要进行独立安装,您可以将 RPATH 设置为bin目录并将 libconfig++ 复制到那里,就像在构建二进制包时所做的那样:https ://github.com/ldc-developers/ldc -scripts/blob/master/ldc2-packaging/2-build-ldc.sh#L18

GDC 错误的情况相同——它取决于 GNU MPFR 库,该库在升级期间被删除或替换为不兼容的版本。

于 2013-08-21T07:40:47.363 回答
0

我认为,如果.so文件不在您的.$LD_LIBRARY_PATH

于 2011-06-20T23:25:47.800 回答