【问题标题】:Why does MoarVM complain about "built for archive which is not the architecture being linked" on Mac OS X?为什么 MoarVM 在 Mac OS X 上抱怨“为存档而构建,而不是被链接的架构”?
【发布时间】:2016-01-14 04:07:17
【问题描述】:

我正在尝试使用 GitHub 上的最新版本和 MoarVM.org 上的下载来构建 Moar。我不断收到有关第三方库的错误:

ld: 警告: ld: 警告: ld: 警告: 忽略文件 3rdparty/libatomic_ops/src/libatomic_ops.a,文件是为存档而构建的,它不是被链接的架构 (x86_64): 3rdparty/libatomic_ops/src/libatomic_ops .aignoring 文件 3rdparty/tinymt/libtinymt.a,文件是为存档而构建的,它不是被链接的架构(x86_64):3rdparty/tinymt/libtinymt.aignoring 文件 3rdparty/sha1/libsha1.a,文件是为存档而构建的不是被链接的架构(x86_64):3rdparty/sha1/libsha1.a

这类似于OSX : File was built for archive which is not the architecture being linked (i386)(以及许多其他答案不足的问题)。我知道有些东西已经在为错误的架构构建这些,所以请跳过提供该答案。

我已经清理了目录,删除了所有内容并重新开始,告诉 Configure.pl 我正在 Darwin 上运行,以及用户应该知道的其他各种事情。我从 MoarVM.org 下载了 tarball,它应该是 repo 中的 2105.12 标签。我在使用 rakudobrew 时遇到了同样的问题。

让我知道您想了解我的系统的哪些方面;这是一个基本的 Mac OS X 设置。

我也将此提交为 MoarVM issue 334,但看起来问题队列并没有得到很多关注。

【问题讨论】:

    标签: macos moarvm


    【解决方案1】:

    来自我在MoarVM issue 中的评论。

    我认为Sinan 我已经想通了(不过主要是思南)。

    当我运行 configure 时,它​​会识别 darwin 并选择 clang 作为编译器。 AR 仅设置为 ar,但它首先在我的路径中找到 gnu 版本,而不是与 clang 一起使用的版本。当我们将搜索路径更改为第一个 ar is Apple's 时,一切正常。

    但是,尝试Configure.pl --toolchain gnu 仍然选择了clang 而不是gcc。只要其他工具来自正确的集合,我并不特别关心它使用哪一个(至少现在是这样)。我知道我可以单独将带有 args 的路径设置为 Configure.pl,但我不希望必须这样做。我敢打赌,大多数人甚至不知道 ar 是什么,也不知道他们为什么要把一个放在另一个之上。

    我对此没有任何建议。我的问题有一个解决方案,但配置可能会更聪明。你可以关闭这个问题(也许打开一个新的更聪明)。

    【讨论】:

      猜你喜欢
      • 2019-01-24
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多