1

我正在尝试使用 Clang、ld64、cctools、GNU make 和 iOS 8.1 SDK 在我的 iPad 2、iOS 8.4上编译 GNU bash 4.3.30。在处理 bashversion 时,Clang 是“无法执行 dsymutil”,并报告它“不存在”,并以错误 1 ​​退出。

$ make
(...)
 "/usr/bin/ld" -demangle -dynamic -arch armv7 -iphoneos_version_min 5.0.0 -syslibroot /var/mobile/iPhoneOS8.1.sdk -o bashversion -lcrt1.3.1.o -L./lib/termcap /var/tmp/bashversion-814fa1.o buildversion.o -lSystem
 "dsymutil" -o bashversion.dSYM bashversion
clang: error: unable to execute command: Executable "dsymutil" doesn't exist!
clang: error: dsymutil command failed with exit code 1 (use -v to see invocation)
make: *** [bashversion] Error 1

$ echo $CC
clang --sysroot /var/mobile/iPhoneOS8.1.sdk -v
$ clang --version
clang version 3.5.0 (trunk)
Target: armv7-apple-darwin-14.0.0
Thread model: posix
$ ld -v
@(#)PROGRAM:ld  PROJECT:ld64-
configured to support archs: i386 x86_64 armv4t armv5 armv6 armv7 armv7f armv7k armv8 arm64 arm64v8
$ which dsymutil
$ dsymutil
-sh: dsymutil: command not found
$ find / -name dsymutil
$

显然,我的 iPad 没有 dsymutil。那么,我在哪里可以找到一个?Xcode 自带吗?或者没有它有什么方法可以编译 GNU bash 4.3.30?

4

1 回答 1

2

Dsymutil 是一个闭源工具,不适用于 iOS。

但这不是什么大问题,只需创建一个指向 /bin/true 的符号链接,

IE

ln -s /bin/true /usr/bin/dsymutil
于 2015-07-06T06:10:11.943 回答