Android NDK revision 7 Хост-инструмент awk устарел. - PullRequest
25 голосов
/ 05 декабря 2011

Я получаю "Android NDK: инструмент хоста" awk "устарел. Пожалуйста, укажите HOST_AWK, чтобы он указывал на Gawk или Nawk!"ошибка на последней версии Android 7 и Android 7

Ответы [ 5 ]

58 голосов
/ 05 декабря 2011

Решена проблема.

Решение:

  1. Перейдите к ../android-ndk-r7/prebuilt/linux-x86/bin
  2. Переименуйте файл awk в awk_

Незаменимая вещь, которую нужно заметить на машине с Windows:

ndk revision 7 и выше, источник ndk может быть собран без cygwin, т.е. ..,вместо вызова команды ndk-build из оболочки Cygwin, вы должны вызвать run ndk-build.cmd в командном окне MSDOS.


Это работает, потому что, вероятно, ndk-build сначала пытается использовать локальноопределенная, но старая (по крайней мере для Linux) версия awk.Переименовывая его, мы делаем его недоступным для такой команды, поэтому, очевидно, ndk-build вызывает общесистемный awk.

14 голосов
/ 26 декабря 2011

Это решение (от Santhosh) работает и под Windows:

  1. Перейдите к ../android-ndk-r7/prebuilt/windows/bin Переименовать файл
  2. переименуйте awk.exe в awk_.exe
3 голосов
/ 24 февраля 2012

Я думаю, что проблема $(HOST_AWK) не определена правильно и локальная предварительная сборка awk.exe не работает.Таким образом, prebuild awk.exe следует удалить или переименовать и использовать gawk, если awk не определено.

Чтобы решить эту проблему:

1 - переименуйте <drive>\android-ndk\prebuilt\windows\bin\awk.exe в <drive>\android-ndk\prebuilt\windows\bin\awk_.exe.

2 - Открыть <drive>\android-ndk\build\core\init.mk

Заменить

HOST_AWK := $(strip $(HOST_AWK))
ifndef HOST_AWK
    HOST_AWK := awk
endif

на

HOST_AWK := $(strip $(HOST_AWK))
ifndef HOST_AWK
    HOST_AWK := gawk
endif

Обратите внимание, что awk переименован в gawk.

2 голосов
/ 05 декабря 2011

Посмотрите на этот японский пост: http://d.hatena.ne.jp/yohpapa/20111113/1321198570

Они объясняют, как решить вашу проблему.На японском, но команды разборчивы =)

Надеюсь, это поможет ...

1 голос
/ 08 февраля 2012

У меня была проблема с разными версиями awk на windows.Это изменение использует версию awk для Cygwin с консоли cygwin и предварительно собранную версию с консоли dos.

Добавить в init.mk:

ifeq ($(HOST_OS),cygwin)
       HOST_AWK := /bin/awk
endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...