Termux-packages: libandroid-support error: CANNOT LINK EXECUTABLE ... cannot locate symbol "nl_langinfo" referenced by ...

Created on 27 Jan 2019  路  14Comments  路  Source: termux/termux-packages

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.

bug report

Most helpful comment

(Oh yeah, you apparently wrote that in the title.. :) )

You can downgrade libandroid-support temporarily until is fixed by:

  • opening a failsafe session: https://wiki.termux.com/wiki/Recover_a_broken_environment#Launching_a_Failsafe_Session
  • setting up environment: export PATH=$PREFIX/bin:$PATH; export LD_LIBRARY_PATH=$PREFIX/lib
  • download libandroid-support 22: curl -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.
  • install old version: dpkg -i ./libandroid-support_22-1_arm.deb
  • restart the app

And 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

All 14 comments

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:

  • opening a failsafe session: https://wiki.termux.com/wiki/Recover_a_broken_environment#Launching_a_Failsafe_Session
  • setting up environment: export PATH=$PREFIX/bin:$PATH; export LD_LIBRARY_PATH=$PREFIX/lib
  • download libandroid-support 22: curl -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.
  • install old version: dpkg -i ./libandroid-support_22-1_arm.deb
  • restart the app

And 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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zejji picture zejji  路  4Comments

am11 picture am11  路  3Comments

newmania picture newmania  路  3Comments

loveablefellow007 picture loveablefellow007  路  3Comments

roycebank picture roycebank  路  3Comments