Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ld.lld: error: undefined symbol: getgrgid_r, getifaddrs, freeifaddrs #10468

Closed
p0ryae opened this issue Nov 9, 2023 · 4 comments
Closed

ld.lld: error: undefined symbol: getgrgid_r, getifaddrs, freeifaddrs #10468

p0ryae opened this issue Nov 9, 2023 · 4 comments
Labels
C-Bug An unexpected or incorrect behavior O-Android Specific to the Android mobile operating system P-Compile-Failure A failure to compile Bevy apps

Comments

@p0ryae
Copy link

p0ryae commented Nov 9, 2023

Bevy version

0.12.0

What you did

Tried to create an apk out of project via the suggested command on the docs for android:

ANDROID_SDK_ROOT=/opt/android-sdk/ ANDROID_NDK_ROOT=/opt/android-ndk cargo apk run

What went wrong

Failure in build. No final APK was generated due to thrown error.

android-ndk version: 26.1
platform: arch linux
kernel: 6.5.9-zen2-1-zen

Additional information

error: linking with `/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/porya/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/porya/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin" VSLANG="1033" "/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang" "/tmp/rustcEXuW2u/symbols.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.10707uopd4wsbu9y.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.12xqqz9et9f01ir3.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.140wqf858shc5yd9.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.14ifvs1m4ud5qk7b.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.15mfp5h08fmh3fm9.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1740xyaav7v6f3i7.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.18pqcxll5wff7qwn.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.199i025ji2q6dbp0.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1fwphpjvboat3onm.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1hd46dnlor6g0dpu.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1hjep533yuo7egmz.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1m8pmimvyikziq5g.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1n5n372luqnjxa9v.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1o8gdeiga95vrtb4.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1qehkswgm5mir9kq.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1qzgf8ba9oipso5a.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1tavckpbkl1zefkl.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1uryeml8ol5su46n.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1vfj1ukzjdi3jtte.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.1yj315fm0ydagql5.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.206c17r2sda2b6y7.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.20fuea2plucvlcqo.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.21a4rycdwqavk7vj.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.21hc0e7h4e8hme0w.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.21vj5uth1ykly8lj.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.22h0gvq93b8qivc8.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.23xqdul3ubj3fruv.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.250e3yyu3p7klb80.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.265c19nn7e4t8gcd.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.26hbjz7c22m1rgel.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.26wkicu6crfl99ah.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.27d8neibmitcvkl1.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.27lglrjfx0hvd4g5.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.27oio2f3ippcpcjx.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.28jfsudxlf9sjdor.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2ahadplxvhkglaf7.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2bg7flb0ama7e4mt.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2bzc9y8jzizaugx2.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2gpx13xnbvl7479g.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2lk07xxx13pi4js7.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2nrtnh2go2hx9ymg.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2o3oclcz97kru3hv.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2oa9ogf9n9jgptdh.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2q2fja06wzn615xh.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2vhcrlpkqkrkpmhw.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2vhwrda3fa60a366.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2w0xijm5gvv64mpa.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2xd9m2tw6mnimwnq.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2xmhlvhi6owd9d56.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2y1fbv43uf89n196.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2y1fs2rpl6hjvb4s.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.2yua1bitt8rwxlpq.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.30ihjkeiscxfxuf7.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.30j9pgf9zttxp00c.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.339x66tgjtqgho2g.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.33rjlg3j5xqf1fxg.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.360d7iaj8rrazoeb.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3a8dk2sjky4ntbtn.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3dar0xs73xihth4l.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3erw206uux6scgx1.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3gm89lfq5gwt8y8h.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3hssp660gbz8ie3m.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3i0cv5p4lgazcsf3.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3kdujag2kxizr08o.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3obverowdutvh4o7.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3ozry2nxp4ba12kr.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3psqwq3cn3n5joyb.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3sztwxz7wdrhw1ln.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3x3b8n2i29ro0bdg.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3xg3vsycrm4jiw2e.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3ymxzckv8cu1364m.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3zdxstxkhcyie0tx.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.3zodmgnr6cbi4qnv.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.415zm3wdru7f0gi0.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.42pvcfedaqu0qm75.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.45dqh7b5yei4keqp.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.47ca42ac1mk4vf1a.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.47of55ejj87j0zwn.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.49bbdak2b6ip5pnz.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4ckoxek47334nzl3.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4dsmwgwzkx6jlmop.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4eqyll9c1j716km5.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4im219ruxjrjqce5.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4j5ulek4ly3etzhs.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4jvn25nkhi1j10xs.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4l6qk9y7vz6ln7ja.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4pqhmrohuiprxjo2.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4qerqk1l36bbidt8.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4qziqvz5cxuip9ul.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4ubiy1n0to5yraxb.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4v6e62moqqmrn5dx.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.4w4rfjk7atv4tvw2.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.50iiy0tbyopfmkdq.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.558b4y82f07spvkl.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.55qijaqmndhxd1op.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.55vtzcy1pbu97o7l.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.56f5ucyceb5y9ay6.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.57ygumr78tlpbihp.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.5905puc1xp3yd2mr.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.59a66l1np9tg7giu.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.5br1bchtms5hoca6.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.5em3m44356i5s0ys.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.5ex0yhmthvfiw4vv.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.5gt63z955lx3umze.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.5tepmh699zg5lqw.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.9sd7lgltr3rxuwp.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.dp2da6zgovelq69.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.dy3ciwqs8kl841t.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.h2ldamp87d2h79w.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.hhydtuzr0i7usox.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.i9ffzb5woxqvjt0.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.jpsmcgnqvygbnft.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.k4kx75fdu9co27a.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.km8az6mov5sl7tr.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.me2nzrk32ig5kei.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.pr9dgytnxoi1vbn.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.qm38ztktoff1r50.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.qyuz1milmgvq49c.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.rgiyq24aj4apqlx.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.ssevik016nbcda1.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.tfpkg2f0rm486xw.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.tmh7fvz1bljhfso.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.vqnipt8xyq1vvho.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.w1wk88qsde4lukb.rcgu.o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94.xcx9eduk55143ea.rcgu.o" "-Wl,--as-needed" "-L" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps" "-L" "/home/porya/Github/TRS-24/target/debug/deps" "-L" "/home/porya/Github/TRS-24/target/cargo-apk-temp-extra-link-libraries" "-L" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/build/blake3-999c41ef9bcf45f4/out" "-L" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/build/oboe-sys-1e97a8740f856423/out/library" "-L" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/build/oboe-sys-1e97a8740f856423/out/library" "-L" "/home/porya/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-Wl,-Bstatic" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/libbevy-88c4c5a0137a9c0c.rlib" "-L" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps" "-Wl,-Bdynamic" "-lbevy_dylib-174558faa19b534f" "-L" "/home/porya/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-lstd-f6faf3a96d72d15b" "-Wl,-Bstatic" "/home/porya/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcompiler_builtins-e9996a2f967dd691.rlib" "-Wl,-Bdynamic" "-lc++_shared" "-llog" "-lOpenSLES" "-ldl" "-ldl" "-landroid" "-llog" "-ldl" "-llog" "-lunwind" "-ldl" "-lm" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/porya/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-o" "/home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/TRS_24-7aabb9130b39dc94" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "--target=aarch64-linux-android23"
  = note: ld.lld: error: undefined reference due to --no-allow-shlib-undefined: __system_property_read_callback
          >>> referenced by /home/porya/Github/TRS-24/target/aarch64-linux-android/debug/deps/libbevy_dylib-174558faa19b534f.so
          clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
          

warning: `TRS-24` (bin "TRS-24") generated 1 warning
error: could not compile `TRS-24` (bin "TRS-24") due to previous error; 1 warning emitted
Error: Command `AR_aarch64-linux-android=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar CARGO_ENCODED_RUSTFLAGS=-Clink-arg=--target=aarch64-linux-android23\u{1f}-L\u{1f}/home/porya/Github/TRS-24/target/cargo-apk-temp-extra-link-libraries CARGO_TARGET_AARCH64_LINUX_ANDROID_AR=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang CC_aarch64-linux-android=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang CFLAGS_aarch64-linux-android=--target=aarch64-linux-android23 CXXFLAGS_aarch64-linux-android=--target=aarch64-linux-android23 CXX_aarch64-linux-android=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ cargo build --target aarch64-linux-android --package TRS-24` had a non-zero exit code.
@p0ryae p0ryae added C-Bug An unexpected or incorrect behavior S-Needs-Triage This issue needs to be labelled labels Nov 9, 2023
@p0ryae
Copy link
Author

p0ryae commented Nov 10, 2023

Update:

Seems to be related to #5354. Disabling dynamic_linking feature addressed the problem with libbevy_dylib, but now it seems like I have issue with libsysinfo rlib. The libsysinfo rlib issue seems to have been raised initially 3 months ago in #8619. More specifically, #8619 (comment).

 = note: ld.lld: error: undefined symbol: getgrgid_r
          >>> referenced by users.rs:20 (src/users.rs:20)
          >>>               sysinfo-5340c8098a34d76c.sysinfo.31be9c1b8a597830-cgu.11.rcgu.o:(core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$::call_mut::h384f78eb1a9c0060) in archive /home/porya/Github/trs_24/target/aarch64-linux-android/debug/deps/libsysinfo-5340c8098a34d76c.rlib
          
          ld.lld: error: undefined symbol: getifaddrs
          >>> referenced by network_helper_nix.rs:108 (src/network_helper_nix.rs:108)
          >>>               sysinfo-5340c8098a34d76c.sysinfo.31be9c1b8a597830-cgu.13.rcgu.o:(sysinfo::network_helper_nix::get_interface_address::hf6fcff828a5c07c3) in archive /home/porya/Github/trs_24/target/aarch64-linux-android/debug/deps/libsysinfo-5340c8098a34d76c.rlib
          
          ld.lld: error: undefined symbol: freeifaddrs
          >>> referenced by network_helper_nix.rs:43 (src/network_helper_nix.rs:43)
          >>>               sysinfo-5340c8098a34d76c.sysinfo.31be9c1b8a597830-cgu.08.rcgu.o:(core::ptr::drop_in_place$LT$sysinfo..network_helper_nix..InterfaceAddressIterator$GT$::h9b83b8f6ea7804a8 (.llvm.280503784009939295)) in archive /home/porya/Github/trs_24/target/aarch64-linux-android/debug/deps/libsysinfo-5340c8098a34d76c.rlib
          >>> referenced by network_helper_nix.rs:43 (src/network_helper_nix.rs:43)
          >>>               sysinfo-5340c8098a34d76c.sysinfo.31be9c1b8a597830-cgu.08.rcgu.o:(sysinfo::network::refresh_networks_addresses::h156fa60fcd42db43) in archive /home/porya/Github/trs_24/target/aarch64-linux-android/debug/deps/libsysinfo-5340c8098a34d76c.rlib
          clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `trs_24` (bin "trs_24") due to previous error
Error: Command `AR_aarch64-linux-android=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar CARGO_ENCODED_RUSTFLAGS=-Clink-arg=--target=aarch64-linux-android23\u{1f}-L\u{1f}/home/porya/Github/trs_24/target/cargo-apk-temp-extra-link-libraries CARGO_TARGET_AARCH64_LINUX_ANDROID_AR=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang CC_aarch64-linux-android=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang CFLAGS_aarch64-linux-android=--target=aarch64-linux-android23 CXXFLAGS_aarch64-linux-android=--target=aarch64-linux-android23 CXX_aarch64-linux-android=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ cargo build --target aarch64-linux-android` had a non-zero exit code.

@p0ryae p0ryae changed the title undefined reference due to --no-allow-shlib-undefined: __system_property_read_callback ld.lld: error: undefined symbol: getgrgid_r, getifaddrs, freeifaddrs Nov 10, 2023
@nicopap nicopap added O-Android Specific to the Android mobile operating system P-Compile-Failure A failure to compile Bevy apps and removed S-Needs-Triage This issue needs to be labelled labels Nov 10, 2023
@p0ryae
Copy link
Author

p0ryae commented Nov 11, 2023

Update 2:

In order to fix the error relating libsysinfo rlib, min_sdk_version must to be set for package's metadata in Cargo.toml. In addition to that, the version must be a version aligns well with the NDK version. In my case, min sdk 30 worked fine.

It's not the end of it, however.

After addressing that issue, an error regarding a missing lib*PROJECTNAME*.so will occur (See rust-mobile/cargo-apk#23).

A fix for this problem has been merged to the cargo-apk repo (See: rust-mobile/cargo-apk#26). rust-mobile/cargo-apk#28 is also needed for quality of life improvement but hasn't been merged. None of them been made it to a new release. Therefore, it is needed to manually install the cargo via the GitHub repo (particularly the rustc-crate-type-cdylib branch):

cargo install --git https://github.com/rust-mobile/cargo-apk/ --branch rustc-crate-type-cdylib

It is also necessary to rename the main.rs file to lib.rs in the src directory, and add the following to the Cargo.toml:

[lib]
crate-type = ["staticlib", "cdylib"]

Bonus: Add the following to your Cargo.toml's [package.metadata.android] field, or have fun installing a 700mb apk each time for testing. This strips debug symbols from the shared libraries:

strip = "strip"

This all seems a bit complicated, but at the moment it is the only way to do a real android build/run.

@p0ryae p0ryae closed this as completed Nov 11, 2023
@p0ryae p0ryae reopened this Nov 11, 2023
@p0ryae p0ryae closed this as completed Nov 11, 2023
@mockersf
Copy link
Member

mockersf commented Nov 11, 2023

Yup, you need most of the configuration from https://github.com/bevyengine/bevy/blob/main/examples/mobile/Cargo.toml

If you set your project like this one, you shouldn't need a patched version of cargo-apk, it will work with the released version

@MarijnS95
Copy link

(particularly the rustc-crate-type-cdylib branch)

This is only to help users be aware that their target must be a library, not something that's necessary to fix a bug. It is unlikely to be merged as it breaks the multi-build scenario outlined in the last comment.

Following the linked bevy mobile example would have preempted these mistakes :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Bug An unexpected or incorrect behavior O-Android Specific to the Android mobile operating system P-Compile-Failure A failure to compile Bevy apps
Projects
None yet
Development

No branches or pull requests

4 participants