Skip to content

[question] How to guarantee that a specific Android NDK is used for resolving packages #16453

@elvisdukaj

Description

@elvisdukaj

What is your question?

In the settings of a package it's possible to set up a lot of parameters, like the os, compiler.version and others. When building using the Android NDK unfortunately the compiler.version is not enough to guarantee an ABI compatibility between packages. There are cases where also a change of the minor version of the ndk is causing abi issues.

The problem is that both ndks have the same compiler version (clang 9.0.8) and there is no way to distinguish between them in the current state.

Probably in case of an Androiod build, a settings.os.ndk.version settings could be added to compute the package_id. The android ndk version could be deduced from the ndk itself by reading the <ndk_path>/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include/android/ndk-version.h header file or by the name of packages itself (21a -> 21.0, 21b -> 21.1, 25c -> 25.2).

Is there any proposal to handle this case? Are there similar scenario with other toolchains?

Have you read the CONTRIBUTING guide?

  • I've read the CONTRIBUTING guide

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions