Android link error
I am unable to build the android samples with VTK 7.1(or current master) as the build system tries to link /usr/lib32/libGLU.so
to the android arm library.
This problem also occurs when linking my own application with VTK. The same steps work for the 7.0 tag.
Steps to reproduce
git checkout v7.1.0
mkdir build && cd build
ANDROID_NDK=/opt/android-sdk-linux/ndk-bundle/ cmake .. -DVTK_ANDROID_BUILD=ON -DBUILD_EXAMPLES=ON
make -j8
Result
[100%] Built target vtkRenderingOpenGL2 Scanning dependencies of target JavaVTK Scanning dependencies of target NativeVTK [100%] Building CXX object Examples/Android/JavaVTK/jni/CMakeFiles/JavaVTK.dir/main.cxx.o [100%] Building C object Examples/Android/NativeVTK/jni/CMakeFiles/NativeVTK.dir/home/ascadian/Installs/android-sdk-linux/ndk-bundle/sources/android/native_app_glue/android_native_app_glue.c.o [100%] Building CXX object Examples/Android/NativeVTK/jni/CMakeFiles/NativeVTK.dir/main.cxx.o [100%] Linking CXX shared library ../libs/armeabi/libJavaVTK.so [100%] Linking CXX shared library ../libs/armeabi/libNativeVTK.so /home/ascadian/Installs/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /usr/lib32/libGLU.so: incompatible target collect2: error: ld returned 1 exit status make[5]: *** [Examples/Android/JavaVTK/jni/CMakeFiles/JavaVTK.dir/build.make:149: Examples/Android/JavaVTK/libs/armeabi/libJavaVTK.so] Error 1 make[4]: *** [CMakeFiles/Makefile2:3715: Examples/Android/JavaVTK/jni/CMakeFiles/JavaVTK.dir/all] Error 2 make[4]: *** Waiting for unfinished jobs.... /home/ascadian/Installs/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /usr/lib32/libGLU.so: incompatible target collect2: error: ld returned 1 exit status make[5]: *** [Examples/Android/NativeVTK/jni/CMakeFiles/NativeVTK.dir/build.make:181: Examples/Android/NativeVTK/libs/armeabi/libNativeVTK.so] Error 1 make[4]: *** [CMakeFiles/Makefile2:3491: Examples/Android/NativeVTK/jni/CMakeFiles/NativeVTK.dir/all] Error 2 make[3]: *** [Makefile:128: all] Error 2 make[2]: *** [CMakeFiles/vtk-android.dir/build.make:112: CMakeExternals/Prefix/vtk-android-21-armeabi/src/vtk-android-stamp/vtk-android-build] Error 2 make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/vtk-android.dir/all] Error 2 make: *** [Makefile:95: all] Error 2
Expected result
Sample apks should be build as they are with v7.0 after patching a missing #include <android/native_window.h>
.