我正在尝试安装 GNU MPFR。我已经下载了源代码,cd
放入其中并输入了./configure
,它经过了一系列检查(据我所知,一切都很好。) 当它到达舞台时,问题就出现了config.status: creating Makefile
。它是这么说的:
configure: creating ./config.status
config.status: creating Makefile
dyld: Library not loaded: /usr/local/opt/mpfr/lib/libmpfr.4.dylib
Referenced from: /usr/local/bin/gawk
Reason: image not found
./config.status: line 1108: 36325 Done(141) eval sed \"\$ac_sed_extra\" "$ac_file_inputs"
36326 Abort trap: 6 | $AWK -f "$ac_tmp/subs.awk" > $ac_tmp/out
config.status: error: could not create Makefile
这不是很奇怪吗?我正在尝试安装libmpfr 4,这显然需要libmpfr.4.dylib待加载。
有什么建议么?
答案1
首先,libmpfr.4.dylib
来自GNU MPFR 3.x(3.0.x和3.1.x),而libmpfr.6.dylib
来自GNU MPFR 4.0.x(当前最新版本),它与以前的MPFR版本ABI不兼容。
注意:软件版本(3.0.x、3.1.x、4.0.x 等)和库版本控制(产生 之前的数字.dylib
)不应混淆(有关这些东西如何工作的详细信息)。
因此,您的版本/usr/local/bin/gawk
是针对 MPFR 3.x 构建的,该版本似乎已被删除。我怀疑它已被 MPFR 4.x 取代(两个库版本都可以共同安装,但某些打包系统不支持此类内容)。您可以检查是否/usr/local/opt/mpfr/lib/libmpfr.6.dylib
存在。如果是这种情况,您不需要再次安装 GNU MPFR,但您仍然需要执行以下操作。
问题是您使用的是旧软件,例如 gawk,它是针对 MPFR 3.x 构建的,但该软件已不再存在。解决方案是卸载此类软件(这样它就不会触发任何错误)并针对 MPFR 4.x 重新安装。
注意:如果未安装 MPFR 4.x,则需要安装它,但系统可能已经以编译形式提供了一些工具(例如 gawk)(可能是旧版本,但这对于引导程序来说已经足够了)。另外,避免混合构建/打包系统。如果您通过 Homebrew 安装了 MPFR,也请为 gawk 执行此操作;有时,需要重新安装软件包(有关 MPFR 3.x 与 4.x 的示例)。