dyld:库未加载:/usr/local/lib/libmpfr.4.dylib。

20

当我在一个项目上运行"make"命令时,我会得到以下错误:

dyld: Library not loaded: /usr/local/lib/libmpfr.4.dylib 
Referenced from: /Users/Petrov/Downloads/mips/bin/../libexec/gcc/mipsel-elf/4.8.1/cc1
  Reason: image not found

/usr/local/lib中没有libmpfr.4.dylib文件,但有libmpfr.6.dylib。我已安装了mpfr 4.0.1。我已经尝试重新安装Xcode和mpfr。


你解决了这个问题吗?我也遇到了同样的问题。 - Koorosh Ghorbani
抱歉,我还没有修好它。 - Elizabeth Haker
2
我通过将libmpfr.dylib符号链接到libmpfr.4.dylib来解决了这个问题,对我有效,但我不知道未来会出现什么问题。 - Koorosh Ghorbani
那很有效。谢谢! - Elizabeth Haker
5个回答

49

我在Mac上遇到了类似的问题。我通过使用brew升级"gawk"来解决它。

brew upgrade gawk

在使用make_standalone_toolchain.sh生成Android工具链时,我遇到了问题,但这个方法对我有效。 - koush
1
如果你还没有安装gawk,只需执行“brew install gawk”即可。这对我也起作用了。 - yoshi
1
不幸的是,仅仅这样做对我来说还不够。如果我有更多发现,我会回报告的。 - Joe Germuska
1
有更新吗?我尝试升级gawk,但没有成功。不想用符号链接来解决。 - gdavtor

6
我是这样解决的。
ln -s /usr/local/opt/mpfr/lib/libmpfr.6.dylib /usr/local/opt/mpfr/lib/libmpfr.4.dylib

1
不建议使用此符号链接:这可能会导致失败(崩溃或错误结果),因为 MPFR 4.0.x 的 ABI 与先前的 MPFR 版本的 ABI 不兼容(这就是为什么库版本号从 4 更改为 6)。现在,据我所知,不兼容性很小,大多数应用程序可能不受影响,但我不确定。 - vinc17
3
@vinc17提到的原因是完全正确的。在OSX上,libmpfr.4.dylib对应于'mpfr-3.x'版本,而libmpfr.6.dylib对应于'mpfr-4.x'版本。主要版本号的更改必须被视为二进制不兼容。如果它“正常工作”,那只是你幸运罢了。 - Brett Hale

3
@Vinc17在对@neosarchizo提出的解决方案的评论中是正确的,如果符号链接引用了不同的版本,则可能存在问题,然而,在我的情况下,运行以下命令:locate libmpfr.4.dylib 显示我在不同目录中拥有正确的库:/opt/local/lib/libmpfr.4.dylib 因此,对于我来说,使用符号链接方法是完全安全的,即:sudo ln -s /opt/local/lib/libmpfr.4.dylib /usr/local/lib/libmpfr.4.dylib 可能是一种hack方法,但问题得到了解决。

2
错误的原因是您已经从MPFR 3.1.x升级到MPFR 4.0.x,这与MPFR 3.1.x不兼容(使用MPFR 4.0.x库编译的程序不能与MPFR 3.1.x一起使用)。因此,libmpfr.4.dylib(用于MPFR 3.0.x和MPFR 3.1.x)变为libmpfr.6.dylib(至少用于MPFR 4.0.x)。
为了避免错误,您应该安装MPFR 4.0.x而不卸载MPFR 3.1.x中的libmpfr.4.dylib:所有新编译的软件都将使用MPFR 4.0.x和libmpfr.6.dylib,但依赖于MPFR的旧二进制文件仍然可以通过使用libmpfr.4.dylib来运行(当存在两个不同的依赖项时,通过库对MPFR进行依赖,可能需要libmpfr.4.dylib和libmpfr.6.dylib,这种情况可能无法正常工作)。
现在,您应该重新编译Xcode。如果您已经获取了已编译的Xcode(来自二进制包),请确保您获取的是针对MPFR 4.0.x编译的版本,或者包含libmpfr.4.dylib文件的版本。如果这不可能,您应该重新安装MPFR 3.1.x。然后,如上所述,您应该能够安装MPFR 4.0.x而不删除libmpfr.4.dylib。

0
使用系统工具链进行编译:
export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接