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

后端 未结 5 1199
小鲜肉
小鲜肉 2020-12-09 08:57

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.

相关标签:
5条回答
  • 2020-12-09 09:26

    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
    
    0 讨论(0)
  • 2020-12-09 09:37

    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
    0 讨论(0)
  • 2020-12-09 09:42

    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.

    0 讨论(0)
  • 2020-12-09 09:47

    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...

    0 讨论(0)
  • 2020-12-09 09:49

    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 <drive>\android-ndk\prebuilt\windows\bin\awk.exe to <drive>\android-ndk\prebuilt\windows\bin\awk_.exe.

    2 - Open <drive>\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.

    0 讨论(0)
提交回复
热议问题