Android NDK revision 7 Host 'awk' tool is outdated error

匿名 (未验证) 提交于 2019-12-03 01:39:01

问题:

I am getting "Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !" error on latest android ndk revision 7.

回答1:

Solved the problem.

Solution:

  1. Navigate to ../android-ndk-r7/prebuilt/linux-x86/bin
  2. Rename the file awk to awk_

Imoprtant thing to note on windows machine:

ndk revision 7 onwards, ndk source can be built without cygwin, ie.., instead of calling ndk-build command from inside a Cygwin shell, you should call run ndk-build.cmd inside a MSDOS command window.


It works because probably ndk-build first tries to use a locally defined, but old (at least for Linux), version of awk. By renaming it, we make it unreachable by such command, so, apparently, ndk-build calls the system-wide awk.



回答2:

This Solution (from Santhosh) works also under windows:

  1. Navigate to ../android-ndk-r7/prebuilt/windows/bin Rename the file
  2. rename awk.exe to awk_.exe


回答3:

I think the problem is $(HOST_AWK) not defined correctly and local prebuild awk.exe doesn't work. Thus prebuild awk.exe should be deleted or renamed and use gawk if awk is not defined.

To solve this problem:

1 - Rename \android-ndk\prebuilt\windows\bin\awk.exe to \android-ndk\prebuilt\windows\bin\awk_.exe.

2 - Open \android-ndk\build\core\init.mk

Replace

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

with

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

Note that awk renamed to gawk.



回答4:

Take a look at this japanese post: http://d.hatena.ne.jp/yohpapa/20111113/1321198570

They explain how to solve your problem. Is in japanese, but the commands are legible =)

Hope this helps...



回答5:

I was having a problem with different versions of awk on windows. This change uses the cygwin version of awk from a cygwin console and the prebuilt version from a dos console.

Add to init.mk:

ifeq ($(HOST_OS),cygwin)        HOST_AWK := /bin/awk endif 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!