gpt4 book ai didi

c - GNU MIX 开发套件构建错误

转载 作者:行者123 更新时间:2023-11-30 17:47:21 25 4
gpt4 key购买 nike

我正在尝试编译the GNU MIX assembly development kit在 Mac OS X 10.8.4 上。我已经通过 homebrew 安装了依赖项,当我在 mdk 目录中运行 configure 时,我收到一条成功消息:

*** GNU MDK 1.2.7 has been successfully configured. ***

Type 'make' to build the following utilities:
- mixasm (MIX assembler)
- mixvm (MIX virtual machine)

但是当我运行 make 时,它会抛出此错误:

~/Downloads/mdk-1.2.7 > make
make all-recursive
Making all in po
make[2]: Nothing to be done for `all'.
Making all in intl
make[2]: Nothing to be done for `all'.
Making all in doc
Making all in img
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in lib
rm -f libreplace.a
ar cru libreplace.a
ar: no archive members specified
usage: ar -d [-TLsv] archive file ...
ar -m [-TLsv] archive file ...
ar -m [-abiTLsv] position archive file ...
ar -p [-TLsv] archive [file ...]
ar -q [-cTLsv] archive file ...
ar -r [-cuTLsv] archive file ...
ar -r [-abciuTLsv] position archive file ...
ar -t [-TLsv] archive [file ...]
ar -x [-ouTLsv] archive [file ...]
make[2]: *** [libreplace.a] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

看起来 ar 失败了,尽管我不知道为什么。我怎样才能进一步调试这个?

最佳答案

a bug in mdk 。该问题已报告给 mdk 的开发人员并已修复,但他们尚未发布包含该修复的新版本。希望1.2.8很快发布就不会出现这个问题了。如果您等不及了,您可以从他们的存储库获取最新代码并进行构建。

更具体地说,问题在于他们试图创建一个不包含任何内容(“无存档成员”)的库 libreplace.a,而这对于 OS X 版本的 ar 来说是 Not Acceptable > 程序要求每个库都包含一些东西。为什么有人会尝试创建一个空库?在这种情况下,该库包含兼容性函数,仅当您所使用的特定操作系统版本尚未提供这些函数时才需要构建这些函数。就您而言,您的操作系统已经提供了所有这些功能,因此不需要构建任何兼容性功能。开发人员要么没有预料到会有这样一个完整的操作系统存在,要么可能存在一个不允许空库的系统。 The fix是在 OS X 上向库添加一个空函数,以确保它永远不为空。

关于c - GNU MIX 开发套件构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18951834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com