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:
- Navigate to ../android-ndk-r7/prebuilt/linux-x86/bin
- 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:
- Navigate to ../android-ndk-r7/prebuilt/windows/bin Rename the file
- 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
to
.
2 - Open
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