ActivityWatch / aw-android

ActivityWatch for Android, using aw-server-rust as backend.
Mozilla Public License 2.0
165 stars 29 forks source link

Error while making aw-server-rust #94

Closed jzheng23 closed 1 year ago

jzheng23 commented 1 year ago

I was trying to build aw-android on Ubuntu 22.10. I got this error message. I tried manually copy and paste libunwind.so into the folder "/home/alex/git/aw-android/aw-server-rust/NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/" but the error message persists.

$ make aw-server-rust
aw-server-rust/target/armv7-linux-androideabi/debug/libaw_server.so
Release type: debug
Building libaw_server.so from aw-server-rust repo
make[1]: Entering directory '/home/alex/git/aw-android/aw-server-rust'
./install-ndk.sh
Found NDK folder in root, using.
Setting up toolchain binary symlinks...
Setting up Rust toolchains...
info: component 'rust-std' for target 'aarch64-linux-android' is up to date
info: component 'rust-std' for target 'armv7-linux-androideabi' is up to date
info: component 'rust-std' for target 'i686-linux-android' is up to date
info: component 'rust-std' for target 'x86_64-linux-android' is up to date
Creating cargo config...
./compile-android.sh
Found NDK folder in root, using.
Building in debug mode... (fast)
Building for arm64...
   Compiling aw-models v0.1.0 (/home/alex/git/aw-android/aw-server-rust/aw-models)

error: linking with `/home/alex/git/aw-android/aw-server-rust/NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/alex/git/aw-android/aw-server-rust/NDK/toolchains/llvm/prebuilt/linux-x86_64/bin:/home/alex/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Python310/Scripts/:/mnt/c/Python310/:/mnt/c/Program Files (x86)/Razer Chroma SDK/bin:/mnt/c/Program Files/Razer Chroma SDK/bin:/mnt/c/Program Files (x86)/Razer/ChromaBroadcast/bin:/mnt/c/Program Files/Razer/ChromaBroadcast/bin:/mnt/c/Program Files/Common Files/Oracle/Java/javapath:/mnt/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.1/bin:/mnt/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.1/libnvvp:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files/NVIDIA Corporation/Nsight Compute 2020.2.1/:/mnt/c/Program Files/Pandoc/:/mnt/c/Program Files/Microsoft SQL Server/140/Tools/Binn/:/mnt/c/Program Files/Microsoft SQL Server/120/Tools/Binn/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/IBM/SPSS/Statistics/25/JRE/bin:/mnt/c/Program Files/dotnet/:/mnt/c/WINDOWS/system32/config/systemprofile/AppData/Local/Microsoft/WindowsApps:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/Microsoft SQL Server/150/Tools/Binn/:/mnt/c/Program Files/nodejs/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/Graphviz/bin:/mnt/c/Program Files/gs/gs10.00.0/bin:/mnt/c/Program Files/Go/bin:/mnt/c/Program Files/GitHub CLI/:/mnt/c/Ruby32-x64/bin:/mnt/c/Users/Alex/.cargo/bin:/mnt/c/Users/Alex/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Alex/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/Alex/AppData/Local/GitHubDesktop/bin:/mnt/c/Program Files/WindowsApps/PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0:/mnt/c/Users/Alex/AppData/Local/Android/Sdk/platform-tools:/mnt/c/Program Files/JetBrains/PyCharm 2022.1/bin:/mnt/c/Users/Alex/AppData/Roaming/npm:/mnt/c/Program Files/OpenSSL/bin:/mnt/c/Users/Alex/go/bin:/mnt/c/Users/Alex/AppData/Local/Programs/MiKTeX/miktex/bin/x64/:/snap/bin" VSLANG="1033" "/home/alex/git/aw-android/aw-server-rust/NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-clang" "-Wl,--version-script=/tmp/rustc2LunfK/list" "-Wl,--no-undefined-version" "/tmp/rustc2LunfK/symbols.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.14o606bx7eky2odx.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.170vdnbmtqjus0kp.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.181jwjqox2x87tln.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.1aizfjgqv2mxbbla.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.1jiiif41suhyyrsg.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.1kfosiy0833432fz.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.1lwkv3u5ml2ioqf7.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.1z33vvqezbaiwns8.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.2217f3ro3fh9lnck.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.23eyqlo965lwzkht.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.27hichrlh16rhb9q.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.2bz6lypz3fc6novv.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.2dq51dbxzebmqqqq.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.2r2fsr95az53fdxy.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.2v1xsxkhnuotpweh.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3056jninxxmzp658.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.32ro0d3pj1ysbetb.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.33vwj7gq04316dfy.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.355ss3tino7pkvzf.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.37q0w71agwa016mn.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.39y2sop43f4nb9cm.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3bl1xlj1xqx7755h.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3doi9xc72sd452bg.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3jcvbv0y4zbgap3.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3lkqwqq8o4s5pvk4.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3mh2mmvds1f3082i.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3q8f85mmnr5u0ynu.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3uobbgtpg405jfht.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3zlh70ocyb3zwmk4.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.43i93f102j65ja7p.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.43zzbphouhqd5ee1.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.469duz77d209j6e9.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.46n445v0ubum0yex.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.47t97tuky6er8vs.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4byi7twzgy235l90.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4fs6z9vqf2y7krg2.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4k97xxny5p1ye4d1.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4l5au171smi6tn25.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4m2hyqu3rqwf3g6z.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4try0dwcnfaqdtja.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4u7mzaxfbnf8n112.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4vpj2y7wv5bm2wo4.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.4zr4zkrrikwn2u7u.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.518d900gd9u3bxhq.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.52y1lg5k4kovgcvp.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.54305effu34g5z0g.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.568ofzlrf2c7rqmk.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.58cjklmkmjt2u43r.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.5ac6b5wg815e6xn2.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.83lezht0s51fpw1.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.e12ppl92oz7kgae.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.hn184v9qcisfwl7.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.i5pzbs0ddv000s.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.jv213nyewc321ja.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.k3ujg2kqwgs8um9.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.w3xmpn6qsjy5iyr.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.x1gov0fldglhgcf.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.y4v7ouk60c3rzo4.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.ypol3ct3eoyx6dv.rcgu.o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/aw_models.3q6ij2ct2z1rhqru.rcgu.o" "-Wl,--as-needed" "-L" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps" "-L" "/home/alex/git/aw-android/aw-server-rust/target/debug/deps" "-L" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-Wl,-Bstatic" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libschemars-f6092d7ca72d48e8.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libdyn_clone-680cf4c7db04d320.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libserde_json-0e2094a8e8765a4f.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libryu-b10bbd6a69c9e022.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libitoa-77077c26f1d4f929.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libchrono-da30767073c1a1f1.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libiana_time_zone-c92567c19c70a2c1.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libandroid_system_properties-442d220e29f6a9e5.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libnum_integer-826ef1c86e3f958a.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libnum_traits-2a4a5c3d75084f18.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libserde-0e6b9a1a39ad5c8d.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libtime-470634acf1438767.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/liblibc-611015c79d377de7.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/liblog-1fcf9435aba8e67e.rlib" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libcfg_if-7cfeaf7ca12f8f26.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libstd-c627f6cac3571c99.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libpanic_unwind-beb9026dddc02011.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libobject-a380a3d3e9c86474.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libmemchr-64eb24b2a32cc802.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libaddr2line-03da91005a922a1f.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libgimli-a3755b16254d6fd3.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_demangle-8645e2e466e7da66.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libstd_detect-f1e1c0b7d74fb13e.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libhashbrown-a6d1c7d8ca5eaaa3.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libminiz_oxide-80faf687440fe52e.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libadler-f197d2c94d31063d.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_std_workspace_alloc-2fa079247d1a8677.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libunwind-af2fcbb9be3bca11.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcfg_if-b203da948adb1240.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liblibc-c470a257b268ce5c.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liballoc-9eb63ea554e53d57.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_std_workspace_core-001d5bd9a65e4337.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcore-088bc0b43b3ec677.rlib" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcompiler_builtins-6bdc5f9fa6af338f.rlib" "-Wl,-Bdynamic" "-ldl" "-llog" "-lunwind" "-ldl" "-lm" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-o" "/home/alex/git/aw-android/aw-server-rust/target/aarch64-linux-android/debug/deps/libaw_models.so" "-Wl,--gc-sections" "-shared" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /home/alex/git/aw-android/aw-server-rust/NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: cannot find -lunwind
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `aw-models` (lib) due to previous error
make[1]: *** [Makefile:30: android] Error 101
make[1]: Leaving directory '/home/alex/git/aw-android/aw-server-rust'
make: *** [Makefile:139: aw-server-rust/target/armv7-linux-androideabi/debug/libaw_server.so] Error 2
venkatasai2714 commented 1 year ago

I am getting the same error while building the aw-server-rust.

ErikBjare commented 1 year ago

I've spent a lot of time trying to get to the bottom of this, including:

The last aw-server-rust commit that passed Android build CI is https://github.com/ActivityWatch/aw-server-rust/commit/73b5ae31826315b94208805f222b42a7818169b3

I've kinda given up hope, hoping the rest of the ecosystem catches up with what seems like a messy build situation on Android.

At some point I expect I'll get the motivation to give this another go, but that's not today. Hoping this comment at least provides some context.

ErikBjare commented 1 year ago

Was going to announce a bounty for this, but ended up solving it instead!

Passing CI run for aw-server-rust on Android: https://github.com/ActivityWatch/aw-server-rust/actions/runs/6291226477/job/17079386193?pr=423

Running CI workflows for aw-android now, will see how it goes.

ErikBjare commented 1 year ago

Seems to work great now. Closing.

Thanks for reporting!

A new release should be out soon, see #93.