Phyphox builds with local fdroidserver, but give CMake error on buildserver

In our recent update 1.1.3, we updated the CMake version to a recent one, which was not available on the buildserver (log https://f-droid.org/wiki/index.php?title=de.rwth_aachen.phyphox/lastbuild_1010302&oldid=259357). So, we reverted this commit, deleted the tag for version 1.1.3 from our repo and added the tag to the new commit (this might have been a mistake?).

Now, the build fails differently:
regularRelease|armeabi :CMake Error at /home/vagrant/android-sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/CMakeDetermineSystem.cmake:104 (message):
regularRelease|armeabi : Could not find toolchain file:
regularRelease|armeabi : /home/vagrant/android-ndk/r12b/build/cmake/android.toolchain.cmake
regularRelease|armeabi :Call Stack (most recent call first):
regularRelease|armeabi : CMakeLists.txt
regularRelease|armeabi :CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
regularRelease|armeabi :CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

The thing is, that this does not happen on a local instance of fdroidserver. So, I am not able to reproduce this or try fixes without commiting to our repo and waiting a few days until the automated process fails.

So, does anyone have an idea either how to fix this problem or how to reproduce it locally? Could the deleted and reinserted tag have messed up some cached files for fdroid?

What type of local instance do you have? Docker? Vagrant? Stretch VM?

You can have cmake 3.7.2 or 3.13.2 (these two via sudo:) or via Android SDK (prebuild: $ANDROID_HOME/tools/bin/sdkmanager 'cmake;3.10.2.4988404')

But, default NDK is 12, because of reasons, so… it says it installs 3.6 instead, odd.

Ok, use ndk: r20 (what NDK do you need? does this harm the code elsewhere?)…look at logs…still 3.6…BUT INFO: success: de.rwth_aachen.phyphox it builds ok in the end…strange YaY!!!
:slight_smile: :slight_smile:

But lets get wild, remove prebuild: (it says it installs 3.6 even if I tell it to get 3.10?), just mess with ndk: r16b, an older version used by a lot of apps at one point in time…wait…compile…builds fine. :slight_smile:

Ref: https://gitlab.com/fdroid/fdroiddata/merge_requests/6074

2 Likes

Great, thanks a lot for figuring this out so quickly.

I have to admit that I did not think of the NDK version and was directly suspecting CMake since a contributor explicitly updated the CMake version while updating libs and other resources. So, I removed the requirements (I do not know of any harm to our code for any version) and reverted this part of his commit (in https://github.com/Staacks/phyphox-android/commit/c4b6406f4335befe959e3c8763628da1ca75eb13), which did not help.

I still have to figure out what broke the compile process in the first place (we only updated the FFTW lib), but I am happy that explicitly using the recent NDK fixes it. Thanks a lot!

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.