I'm getting the following dpkg error after running apt update & apt upgrade.
Preparing to unpack .../libandroid-support_15_arm.deb ...
Unpacking libandroid-support (15) over (14) ...
dpkg: warning: symbolic link '/data/data/com.termux/files/usr/lib/libintl.so' size has changed from 26 to 21
dpkg: warning: symbolic link '/data/data/com.termux/files/usr/lib/libiconv.so' size has changed from 26 to 21
dpkg: error processing archive /data/data/com.termux/files/usr/var/cache/apt/archives/libandroid-support_15_arm.deb (--unpack):
unable to install new version of '/data/data/com.termux/files/usr/lib/libintl.so': Permission denied
dpkg: error while cleaning up:
unable to restore backup version of '/data/data/com.termux/files/usr/lib/libiconv.so': Permission denied
dpkg: error while cleaning up:
unable to restore backup version of '/data/data/com.termux/files/usr/lib/libintl.so': Permission denied
Errors were encountered while processing:
/data/data/com.termux/files/usr/var/cache/apt/archives/libandroid-support_15_arm.deb
E: Sub-process /data/data/com.termux/files/usr/bin/dpkg returned an error code (1)
The issue occurred after the android system was upgraded from marshmallow to nougat on my chromebook:
System information:
Linux localhost 3.18.0-14852-gd99af821993c #1 SMP PREEMPT Fri Jun 9 02:45:17 PDT 2017 armv8l Android
Termux-packages arch:
arm
Android version:
7.1.1
Device manufacturer:
google
Device model:
Acer Chromebook R13 (CB5-312T)
I tried the fix in https://github.com/termux/termux-packages/issues/558, replacing the dpkg link with the arm version, but the issue still remains:
wget http://termux.net/dists/stable/main/binary-arm/dpkg_1.18.24_arm.deb
dpkg -i dpkg_1.18.24_arm.deb
Any help would be greatly appreciated.
What does dpkg --version output?
Debian 'dpkg' package management program version 1.18.24 (arm).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
Thanks! Hm, the symlink size has changed from 26 to 21 messages are now just warnings (after #558 was fixed), so they shouldn't be the problem.
The problem then would be the Permission denied messages - what is the output of running:
ls -la /data/data/com.termux/files/usr/lib/libintl.so
?
thanks for looking into this!
lrwxrwxrwx 1 u0_a38 u0_a38 26 Apr 20 14:19 /data/data/com.termux/files/usr/lib/libintl.so -> libandroid-support.so
I have this exact problem on my Chromebook (Android 7.1.1). dpkg -s libandroid-support output:
Package: libandroid-support
Essential: yes
Status: install reinstreq half-installed
Installed-Size: 180
Maintainer: Fredrik Fornwall @fornwall
Architecture: i686
Version: 14
Config-Version: 14
Description: Library extending the Android C library (Bionic) for additional multibyte, locale and math support
Homepage: https://developer.android.com/tools/sdk/ndk/index.html
The half-installed means it tries to finish before everything else every time I try to install whatever, obviously failing. apt installing again doesn't solve the problem, nor do packages reinstall or apt autoremove.
I also tried apt install libandroid-support=14 to restore the "old" version, but I got:
E: Can't find a source to download version '14' of 'libandroid-support:i686'
Is there a way to hide/ignore just this package update? Being unable to install anything definitely sucks!
This is
https://bugs.chromium.org/p/chromium/issues/detail?id=733979
symlinks selinux permission was skipped on upgrade.
I think the current known workaround is to uninstall and reinstall termux package.
I can confirm that uninstall/reinstall worked on my Chromebook. Thanks.