You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When performing shlib checks before upgrading, libraries provided by 32bit packages are treated the same as libraries provided by 64bit packages. This can result in system breakage on partial upgrades without warning as noticed on the r/voidlinux subreddit: https://www.reddit.com/r/voidlinux/comments/18r0swm/psa_libxcrypt_updates/
You can run test1 and it will output hello world 7 as expected.
After that, modify the libhelloworld package to not install libhelloworld.so.1 and build it as version=2 (do not build the 32bit package with this change).
When doing xi -u, you will receive a shlibs error as expected. test1-1_1: broken, unresolvable shlib 'libhelloworld.so.1'
Run xi libhelloworld-32bit
Now run xi -u again, you will not receive any warnings and the upgrade will proceed as normal.
Confirm the breakage of test1 as running it now outputs test1: error while loading shared libraries: libhelloworld.so.1: cannot open shared object file: No such file or directory
Ideally, xbps should be able to detect that the libraries provided by 32bit packages are not applicable to 64bit applications and visa-versa.
The text was updated successfully, but these errors were encountered:
oreo639
changed the title
shlib errors on partial upgrade bypassed by multilib
verify shlib errors on partial upgrade bypassed by multilib
Jan 4, 2024
When performing shlib checks before upgrading, libraries provided by 32bit packages are treated the same as libraries provided by 64bit packages. This can result in system breakage on partial upgrades without warning as noticed on the r/voidlinux subreddit: https://www.reddit.com/r/voidlinux/comments/18r0swm/psa_libxcrypt_updates/
I verified this behavior using the following:
./setup.sh
test1
and it will outputhello world 7
as expected.version=2
(do not build the 32bit package with this change).xi -u
, you will receive a shlibs error as expected.test1-1_1: broken, unresolvable shlib 'libhelloworld.so.1'
xi libhelloworld-32bit
xi -u
again, you will not receive any warnings and the upgrade will proceed as normal.test1
as running it now outputstest1: error while loading shared libraries: libhelloworld.so.1: cannot open shared object file: No such file or directory
Ideally, xbps should be able to detect that the libraries provided by 32bit packages are not applicable to 64bit applications and visa-versa.
The text was updated successfully, but these errors were encountered: