You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Homebrew安装GHC时遇链接器错误:未知选项-no_fixup_chains

问题分析与解决方案

关于-no_fixup_chains选项

-no_fixup_chains是Apple自家ld链接器的私有扩展选项,专门用于ARM64架构的Mach-O二进制文件优化,作用是禁用链接时的修复链处理。这个选项是在Apple Silicon推出后的较新MacOS版本中才加入的,你的MacOS 10.15(Catalina)属于纯x86_64时代的系统,系统自带的ld以及Homebrew安装的gcc配套ld都不支持该选项。

失败原因

Homebrew的GHC包当前默认针对支持ARM64的新版MacOS编译,构建脚本会自动添加这个仅新版Apple ld能识别的参数。而你的10.15系统的ld无法解析该选项,最终导致依赖包clock-0.8.3构建失败。

至于安装gcc-13无效,是因为Homebrew构建Haskell包时默认调用系统的Apple ld,而非gcc配套的ld.gcc,所以即使升级gcc,链接器依然是旧版Apple ld,问题无法解决。

可行解决方案

  • 安装适配旧系统的GHC版本:选择GHC 8.10.x或更早的版本,这类版本的构建配置不会包含-no_fixup_chains选项。执行命令:brew install ghc@8.10,安装完成后需配置环境变量让系统优先使用该版本。
  • 手动修改clock-0.8.3的构建参数:找到该包的源码目录,编辑.cabal文件或Setup.hs,移除链接器参数中的-no_fixup_chains,之后重新执行构建命令。
  • 换用MacPorts安装GHC:MacPorts对旧MacOS版本的兼容性优于Homebrew,可能提供了适配10.15的GHC预编译包,可规避这类链接器参数问题。

内容的提问来源于stack exchange,提问作者Nana Tatsudaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 11:21:01