我正在尝试使用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?

最佳答案

Dsymutil是封闭源代码工具,不适用于iOS。

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


ln -s /bin/true /usr/bin/dsymutil

10-08 16:58