godot-cpp icon indicating copy to clipboard operation
godot-cpp copied to clipboard

"Required toolchain not found for platform" printed instead of more helpful errors such as "ANDROID_NDK_ROOT not set".

Open nathanfranke opened this issue 3 years ago • 2 comments

I wanted to build my extension for Android, so I casually ran scons p=android assuming it would tell me what's wrong. Instead I got "Required toolchain not found for platform".

In android.py, the helpful error is only printed in generate, which is called after exists in SConstruct:

SConstruct:

if tool is None or not tool.exists(env):
    raise ValueError("Required toolchain not found for platform " + env["platform"])

tool.generate(env)

android.py:

def exists(env):
    if not "ANDROID_NDK_ROOT" in os.environ:
        return False
    return True


def generate(env):
    if not "ANDROID_NDK_ROOT" in os.environ:
        raise ValueError(
            "To build for Android, ANDROID_NDK_ROOT must be defined. Please set ANDROID_NDK_ROOT to the root folder of your Android NDK installation."
        )

nathanfranke avatar Jul 20 '22 08:07 nathanfranke

I met the same problem and saw your issue. at the end: scons platform=android arch=arm64 ANDROID_NDK_ROOT=C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\23.2.8568313

Atem1995 avatar Mar 27 '23 11:03 Atem1995

It is still not specified anywhere that it is necessary to explicitly add ANDROID_NDK_ROOT to environment variables or arguments.

DmitriySalnikov avatar Aug 23 '23 14:08 DmitriySalnikov