我将在基于 MobaXterm v11.1 cygwin 的发行版上编译 Poly/ML Standard ML 编译器。一经制作,我得到
/bin/sh ./libtool --tag=CC --mode=link gcc -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=core2 -Wall -fexceptions -o libffi_convenience.la src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/x86/ffi.lo src/x86/win32.lo
libtool: link: ar cru .libs/libffi_convenience.a src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/x86/.libs/ffi.o src/x86/.libs/win32.o
ar: unknown option -- u
BusyBox v1.22.1 (2015-11-10 11:07:12 ) multi-call binary.
这里我有 binutils/ar 版本 2.29.1。
在带有 binutils/ar 版本 2.22.52 的 Fedora 机器上,编译通过。
我将 binutils 2.22.52 下载到我的 MobaXterm 并尝试编译它,但我收到与上面相同的错误消息:
ar cru libintl.a bindtextdom.o dcgettext.o dgettext.o gettext.o finddomain.o loadmsgcat.o localealias.o textdomain.o l10nflist.o explodename.o dcigettext.o dcngettext.o dngettext.o ngettext.o plural.o plural-exp.o localcharset.o relocatable.o localename.o log.o osdep.o intl-compat.o
ar: unknown option -- u
我看到了两个可能的原因:
- 在
u
2.22.52 和 2.29.1 版本之间不推荐使用 ar 选项 - MobaXterm 使用 Busybox,其中包含有限版本的 ar
什么是真正的解释,如何安装理解 u 选项的 ar?