Today while doing an "apt update" and "apt ugrade" I got an upgrade for libandroid-support.
Now my termux installation is completely inaccessible.
When I try to start termux I get the following message and the program immediately terminates:
"CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/bin/bash": cannot locate symbol "nl_langinfo" referenced by "/data/data/com.termux/files/usr/lib/libreadline.so.7.0"..."
Any help would be highly appreciated! Thank you.
What device do you have, is it arm, aarch64 or other?
it is an arm device
(Oh yeah, you apparently wrote that in the title.. :) )
You can downgrade libandroid-support temporarily until is fixed by:
export PATH=$PREFIX/bin:$PATH; export LD_LIBRARY_PATH=$PREFIX/libcurl -LO https://grimler.se/dists/testing/misc/binary-arm/libandroid-support_22-1_arm.deb. If your arch isn't arm then replace arm in binary-arm and libandroid-support_22-1_arm.deb with your arch.dpkg -i ./libandroid-support_22-1_arm.debAnd then avoid apt upgrade for a while (or use apt-mark hold libandroid-support)
An updated libandroid-support has been pushed to the repo so running apt update && apt upgrade after restoring the old libandroid-support will fix everything
@Grimler91
sh: curl: not found
in failsafe session.
@aero ah, sorry, so you need to export PATH before downloading, I'll update the steps
Hi, I was getting this error while in failsafe mode that prevented me following the instructions above. CANNOT LINK EXECUTABLE DEPENDENCIES: "libcurl.so" is 32-bit instead of 64-bit
I reinstalled Termux and held back libandroid-support, ran pkg update as usual, and it appears to be working again now, thanks.
@sw2000 probably means that your arch wasn't arm (I'll add a note about that in the instructions), thanks!
@Grimler91 Thank you for the instructions. However, I'm only able to go to the point of installing the previous version, when I get the following error:
tar: chown 1000:1000 '.': Operation not permitted
tar: chown 1000:1000 './control': Operation not permitted
dpkg-deb: error: tar subprocess returned error exit status 1
dpkg: error processing archive ./libandroid-support_22-1_arm.deb (--install):
dpkg-deb --control subprocess returned error exit status 2
Errors were encountered while processing:
./libandroid-support_22-1_arm.deb
@steffenl82 Hmm, which folder did you download the .deb to? Try it from termux home (/data/data/com.termux/files/home) if you were in some other folder.
If that wasn't the issue then it might be something problem with busybox tar, need to look into that
The file is in the home folder (/data/data/com.termux/files/home)
I was finally able to recover my installation manually by extracting libandroid-support.so from libandroid-support_22-1_arm.deb and putting it into /data/data/com.termux/files/usr/lib/
@steffenl82 glad you solved it!
this seems to be fixed along with #3285 and #3282 and termux/termux-app#1001 (which were basically all duplicates)
https://termux.net stable InRelease iya still same
Most helpful comment
(Oh yeah, you apparently wrote that in the title.. :) )
You can downgrade libandroid-support temporarily until is fixed by:
export PATH=$PREFIX/bin:$PATH; export LD_LIBRARY_PATH=$PREFIX/libcurl -LO https://grimler.se/dists/testing/misc/binary-arm/libandroid-support_22-1_arm.deb. If your arch isn't arm then replace arm inbinary-armandlibandroid-support_22-1_arm.debwith your arch.dpkg -i ./libandroid-support_22-1_arm.debAnd then avoidapt upgradefor a while (or useapt-mark hold libandroid-support)An updated libandroid-support has been pushed to the repo so running
apt update && apt upgradeafter restoring the old libandroid-support will fix everything