2

我正在尝试从 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 :文件是为存档而构建的,它不是被链接的架构(i386)(以及许多其他答案不足的问题)。我知道有些东西已经在为错误的架构构建这些,所以请跳过提供该答案。

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

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

我也将其归档为MoarVM issue 334,但看起来问题队列并没有得到太多的爱。

4

1 回答 1

0

根据我在MoarVM 问题中的评论。

我认为思南和我已经想通了(尽管主要是思南)。

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

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

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

于 2016-01-29T21:27:22.903 回答