Дсимутил отсутствует компиляция GNU bash на iOS
Я пытаюсь скомпилировать GNU bash 4.3.30 на (и для) iPad 2, iOS 8.4 с использованием Clang, ld64, cctools, GNU make и iOS 8.1 SDK. При обработке 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
$
Судя по всему, у моего айпада нет дсымутил. Итак, где я могу найти один? Это идет с Xcode? Или есть ли способ скомпилировать GNU bash 4.3.30 без него?
1 ответ
Решение
Dsymutil - это инструмент с закрытым исходным кодом, который не доступен для iOS.
Но это не большая проблема, просто создайте символическую ссылку на /bin/true,
т.е.
ln -s /bin/true /usr/bin/dsymutil