我有LDC2和环球发展中心从源代码编译并一直工作到一个月前。什么都没有改变,除了我不记得在终端中设置以使 ldc2 和 gdc 工作的变量。
尝试编译 D 源代码时出现以下错误;与 gdc ( $ /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: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory
对于 ldc2 ( /home/Code/D/ldc2/bin/ldc2 -o t4 t4.d
):
/home/Code/D/ldc2/bin/ldc2: error while loading shared libraries: libconfig++.so.8: cannot open shared object file: No such file or directory
我不记得它是否只是对 PATH 的补充或对 DFLAGS 的补充。有任何想法吗?
答案1
这里你甚至无法运行编译器可执行文件,因为它找不到它需要的库。gdc
正在寻找libmpfr.so.1
并且ldc2
正在寻找libconfig++.so.8
。
如果这些库仍然存在于您的系统上,也许在 中/home/Code/D/gdc/Bin/usr/local/lib
,您可以将该目录添加到LD_LIBRARY_PATH
环境变量中(在大多数 unice 上;在 Mac OS X 上,该变量称为DYLD_LIBRARY_PATH
)。
LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib gdc …
您可能想要编写包装脚本来运行gdc
和ldc2
,或者将其放入您的~/.profile
:
export LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib
如果这些库在系统升级中出现/usr/lib
并消失,您必须恢复所需的版本,或者为新版本的库重新编译 D 工具。