---
# System prepended metadata

title: Android Minimum Support Version Too High

---

# Android Minimum Support Version Too High

[cross](https://github.com/cross-rs/cross) is a way to cross-compile without any manual setup. It takes care of picking the right compiler, linker and setting a bunch of relevant environment variables.

## The issue
[related issue](https://github.com/cross-rs/cross/issues/1195)

The issue is, how we see it right now, that cross selects way too new variables (android ndk, version, sdk) for it to be compatible with older devices. Resulting in an issue that it can not find the symbol `pthread_cond_clockwait` which is required.

## Solution #1
We host our own docker images thightly based on the [images](https://github.com/cross-rs/cross/tree/main/docker) provided by cross. This means we have to find the correct combination of ndk, version and sdk that we want and use that to build the image. It is not a 100% known if this will fix the issue. It does seem like it, however many variables could play a role here. Also, where are we going to host the source of the images and the built images themselves? According to the related issue, it is a known problem and the proposed solution will be quite nice, but we cannot rely on that for right now.

## Solution #2
Solution 2 is that we pass a valid `-DANDROID_PLATFORM=XX` to `cmake` which might als solve this. They might have to match or `cmake` can create compatibility between the two.


Both solutions might work individually or they might have to work in tandem. If they both work, then solution #2 is heavily prefered as we do not have to host and build any new images and can leverage cross' existing images.