Android compile problem, local and on Travis
dirk at hohndel.org
Tue Dec 26 08:23:40 PST 2017
> On Dec 26, 2017, at 6:55 AM, Jan Mulder <jlmulder at xs4all.nl> wrote:
> Since some days (do not know exactly what introduced this) I have a compile problem when building the Android apk on my local system. I'm building using the build.sh from packaging (already from a long time).
> It's just after the apk is created (so it does not hinder testing of own build apks, and as side note/question, why is there any build processing going on after the apk is created?). After Dirk fixed the Android Travis build (sdkmanager does not understand yes), the Travis build are failing again (after, I think 2 successful runs). Remarkably, the Travis fail is also just after the apk is produced, so there might be a relation between my local fail and the Travis fail.
> My first idea was, the recent upgrade (on my desktop) to cmake 3.10. But Travis is still building with 3.9.3 ... so, no direct relation to local fail and Travis fail ...
> The local fail is:
> [ 82%] Built target subsurface-mobile.apk
> [ 82%] Built target documentationLink
> loading initial cache file <path stripped>/src/subsurface/Documentation
> CMake Error: Error processing file: <path stripped>src/subsurface/Documentation
> CMake Error: The source directory "<path stripped>src/subsurface-mobile-build-arm/doc" does not exist.
> make: *** [CMakeFiles/documentation] Error 1
> make: *** [CMakeFiles/documentation.dir/all] Error 2
> make: *** [all] Error 2
> Notice the reference to the .../doc directory. Fully unclear to me where that is coming from. Our documentation directory is called "Documentation".
> Anybody a useful idea on this subject? I realize that there are not much own apk builders ...
I'll admit that my initial reaction to the renewed Android fails on Travis was a curse word.
I did do a local build and I don't get the error that you show.
I then gripped through all of the cmake created build files in my build directory for doc (not docs, documentation, etc, but "doc") and came up empty.
Next I removed my build directories and rebuilt from scratch; there I ran into an odd bug where cmake couldn't find the build program for Unix makefiles.
Adding a -DCMAKE_MAKE_PROGRAM=make fixed that (but I don't understand what's up with that).
Looking through the logic what we do and the snippet you show up there... hmm. We end up building the docs even though we don't bundle them. And that does happen for me after the apk is built.
Can you take a look at subsurface-mobile-build-arm/CMakeFiles/documentationLink.dir/build.make and see if there's anything suspicious in there? For me there is no reference to just "doc" (nor is there in any of the other files in that directory)
Obviously, we should just disable this step for Android... I'll look into that, next
More information about the subsurface