Is it possible to build it for Android
It would be nice if we can try this out on Android. I followed instructions from https://github.com/ggerganov/ggml
I tried it and seems that we need to remove -march=native from CMakeLists.txt
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -march=native")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native")
However, after that I got an error
CANNOT LINK EXECUTABLE "/data/local/tmp/bin/vit": cannot locate symbol "__emutls_get_address" referenced by "/data/local/tmp/bin/vit"...
Hey @kirklandsign,
Did you set the NDK_ROOT_PATH variable either in the env or in the CMakeLists.txt :
set(CMAKE_ANDROID_NDK /path/to/android-ndk-r26b-linux) after downloading the NDK?
Thank you! It works now; however, I still made the following modification to make it build.
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -march=native")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native")
+# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -march=native")
+# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native")
BTW on ggml, I also commented out Threads
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -159,7 +159,7 @@ endif()
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 11)
-find_package(Threads REQUIRED)
+# find_package(Threads REQUIRED)
# main
Great to hear!
Are you running this on a Phone? I'm interested to know what is the setup
Hi @staghado I used
cmake . -Bcmake-out -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a
cmake --build cmake-out/
and then push the binary to the android phone