我从源代码编译了ldc2和gdc,直到一个月前还在运行。什么都没有改变,除了我不记得我将在终端设置的变量,以使ldc2和gdc工作。
尝试编译D源代码时出现以下错误;
GDC:
$ /家庭/代码/ d / GDC /斌在/ 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:无法打开共享 目标文件:没有这样的文件或目录
LDC2:
$ / home / Code / D / ldc2 / bin / ldc2 -o t4 t4.d / home / Code / D / ldc2 / bin / ldc2:错误 加载共享库时: libconfig ++。so.8:无法打开共享 目标文件:没有这样的文件或目录
我不记得这只是PATH的补充还是DFLAGS的补充。有什么想法吗?
编辑: 重新编译LDC2和GDC解决了这个问题,但我仍然不知道为什么我会收到错误。
答案 0 :(得分:1)
LDC的错误意味着您在编译后重新移动了libconfig ++。 PATH
和DFLAGS
不相关,但Dan在回答中指出,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库,它在升级过程中被删除或替换为不兼容的版本。
答案 1 :(得分:0)
如果.so
文件不在您的$LD_LIBRARY_PATH
中,可能会发生此错误。