проблемы с Android NDK-7 и AWK - PullRequest
       3

проблемы с Android NDK-7 и AWK

9 голосов
/ 14 ноября 2011

У меня проблемы с последней версией Android NDK:

ligi@ligid:~$ ndk-build 
/home/ligi/bin/android-ndk/prebuilt/linux-x86/bin/awk: 1: ELF: not found
/home/ligi/bin/android-ndk/prebuilt/linux-x86/bin/awk: 4: Syntax error: word unexpected (expecting ")")
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !    
/home/ligi/bin/android-ndk/build/core/init.mk:258: *** Android NDK: Aborting.    .  Stop.

ligi@ligid:~$ `echo $HOST_AWK --v`
GNU Awk 3.1.7

У меня нет в наличии Ubuntu Ant, у которого совершенно нет идей и хорошие ключевые слова для поиска

Ответы [ 6 ]

33 голосов
/ 14 ноября 2011

У меня также была эта проблема, и я обнаружил, что на этом японском сайте есть похожие проблемы:

http://d.hatena.ne.jp/yohpapa/20111113/1321198570

Надеюсь, я правильно озадачился переводом Google - в любом случае, в основном вустановить новую NDK, найти этот каталог:

..../android-ndk-r7/prebuilt/linux-x86/bin

и переименовать файл "awk" там, например, в "awk _"

Я сделал это, и теперь ndk_build работает для меня.Если я читаю файлы make, то есть файл init.mk, который заменяет ваш HOST_AWK на предварительно скомпилированное значение, если оно его находит ... поэтому переименование файла awk по умолчанию возвращается к вашему gawk.

Hopeэто помогает

Киби

6 голосов
/ 08 декабря 2011

Проблема в том, что исполняемый файл ndk / prebuild / linux-x86 / awk скомпилирован для x86_64, он не запускается в 32-битном ядре

1 голос
/ 12 июня 2012

У меня была такая же проблема при запуске eclipse на окнах с cygwin и NDK8.

Мне пришлось добавить HOST_AWK в качестве переменной окружения в свойствах проекта -> c / c ++ Build -> Environment со значением/cygdrive/[cygwin installdir]/bin/gawk

(а также для установки команды сборки c / c ++ на bash -c ndk-build)

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

Перейдите на <ndk_dir>\build\core\ и откройте init.mk в текстовом редакторе, например, блокнота

Заменить следующую строку

HOST_AWK := $(wildcard $(HOST_PREBUILT)/awk$(HOST_EXEEXT))

с

ifeq ($(HOST_OS),cygwin)
      HOST_AWK := $(wildcard $(HOST_PREBUILT)/gawk$(HOST_EXEEXT))
else
      HOST_AWK := $(wildcard $(HOST_PREBUILT)/awk$(HOST_EXEEXT))
endif

@ Тод: Спасибо, я использовал Вашу подсказку здесь

Это работает.

1 голос
/ 08 января 2012
  1. Обновите свой локальный awk.
  2. Удалите awk из самого android-ndk.

Это должно решить проблему.

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

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

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

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