Termux-packages: wget": cannot locate symbol "__aeabi_idiv0"

Created on 2 Dec 2019  路  7Comments  路  Source: termux/termux-packages

I downloaded and installed wget via pkg install wget and it won't start because of a linker error:

$ termux-info
Packages CPU architecture:
arm
Subscribed repositories:
# sources.list
deb https://termux.org/packages/ stable main
# science-repo (sources.list.d/science.list)
deb https://dl.bintray.com/grimler/science-packages-24 science stable
# game-repo (sources.list.d/game.list)
deb https://dl.bintray.com/grimler/game-packages-24 games stable
Updatable packages:
All packages up to date
Android version:
10
Kernel build information:
Linux localhost 3.4.113-ge13de1d9fed #1 SMP PREEMPT Wed Nov 13 16:22:17 CET 2019 armv7l Android
Device manufacturer:
Sony
Device model:
Xperia Z3 Compact
$ wget
CANNOT LINK EXECUTABLE "wget": cannot locate symbol "__aeabi_idiv0" referenced by "/data/data/com.termux/files/usr/bin/wget"... $
bug report help wanted

Most helpful comment

Im facing similar issue with wget
Screenshot_20191228-125749

All 7 comments

Im facing similar issue with wget
Screenshot_20191228-125749

I face this problem using LineageOS 17.
Termux==0.86, Android==10.

I think it is a problem related to LineageOS.

@SebastienKeroack Yes you're right, I should have mentioned that!
I also use Lineage.

On LOS17 the symbol is missing in libc.so and libart.so. The Termux buildbot is probably not yet prepared for Android 10 bionic/libc.

As a temporary workaround you can inject a lib providing the symbol:
1) find a lib (printed in red):

$ for lib in $(find /system -name \*.so); do if [[ $(nm -g $lib 2>/dev/null | grep __aeabi_idiv0) ]]; then echo -ne "\033[1;31m$lib\033[0m\n"; else echo $lib; fi; done

2) inject the lib (in my case libclang_rt.ubsan_standalone-arm-android.so):

$ LD_PRELOAD=/system/apex/com.android.media.swcodec/lib/libclang_rt.ubsan_standalone-arm-android.so wget

I encountered this problem with the error:

CANNOT LINK EXECUTABLE "wget": cannot locate symbol "__aeabi_idiv0" referenced by "/data/data/com.termux/files/usr/bin/wget"...

after upgrading from Android 9 to Android 10.

My solution was rebuilding the wget package from source for Android 10. If it's useful to anyone, the updated wget package is at
https://github.com/cbonet-sw/termux-bits

It got it working for me, and although I've not extensively tested it it worked fine what what I needed to do so far.

I'm new to building package for Termux, so if anyone would like to suggest (i) a more appropriate way of distributing this, or (ii) a way of convincing people that this binary doesn't contain malicious code then please get in touch.

After the phone upgrades Android 10 and runs for 4 to 5 hours, the app will flash back and cannot be restarted. The error message is similar to the following:
logcat.txt

This appears (after a quick look) to be unrelated to Termux or indeed the Wget package running under Termux.
[Seems to be an app by company called Kedacom - IP Video, or something? Suggest you look for update to com.kedacom.truetouch.sky app or find an alternative for whatever you need.]

Was this page helpful?
0 / 5 - 0 ratings

Related issues

StephanBeer picture StephanBeer  路  3Comments

loveablefellow007 picture loveablefellow007  路  3Comments

jackbrycesmith picture jackbrycesmith  路  3Comments

neitsab picture neitsab  路  3Comments

reggi picture reggi  路  4Comments