You are not logged in.

#1 2021-11-24 22:02:19

tleydxdy
Member
Registered: 2017-10-11
Posts: 21

icu update issue

It seems like everytime icu updates there is always some package (from the official repo) that was not correctly rebuilt on the new icu, and this would cause those software to be broken until the new build is updated.

This seems like a pretty broken situation. Is there any process currently in place to try and prevent these types of breakage? why aren't those packages pining their icu version so pacman would know updating would leave the system broken?

Offline

#2 2021-11-24 22:13:42

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: icu update issue

Examples please? I don't recall this ever happening.


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#3 2021-11-25 07:40:02

arojas
Developer
From: Spain
Registered: 2011-10-09
Posts: 2,151

Re: icu update issue

tleydxdy wrote:

It seems like everytime icu updates there is always some package (from the official repo) that was not correctly rebuilt on the new icu, and this would cause those software to be broken until the new build is updated.

This is simply false. If you search for 'icu' on the bug tracker you will see that such issues are *always* partial updates or other user errors.

Offline

#4 2021-11-27 02:48:27

DepDepSO
Member
Registered: 2021-11-27
Posts: 3

Re: icu update issue

I believe it's happened to Xfce or some of its components. I noticed it right at the moment of updating `harfbuzz, icu, libxml2, vte-common, vte3` when `xfce4-screenshooter` and opening a new `xfce4-terminal` stopped working. They are looking for icu69 libraries.

edit: then I can't start a graphical `xfwm4` session after reboot.

Last edited by DepDepSO (2021-11-27 03:01:31)

Offline

#5 2021-11-27 07:50:50

loqs
Member
Registered: 2014-03-06
Posts: 18,045

Re: icu update issue

DepDepSO wrote:

I believe it's happened to Xfce or some of its components. I noticed it right at the moment of updating `harfbuzz, icu, libxml2, vte-common, vte3`

Did you only update those packages or where they the only packages that were updated during a full system update?

Offline

#6 2021-11-27 13:10:53

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: icu update issue

Until you post actual errors and logs no-one can tell you why your system was broken...
https://bbs.archlinux.org/viewtopic.php?id=57855


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#7 2021-11-28 01:47:39

DepDepSO
Member
Registered: 2021-11-27
Posts: 3

Re: icu update issue

loqs wrote:

Did you only update those packages or where they the only packages that were updated during a full system update?

Only systemd was held back so I can read the changelog later. Yes I know, don't partial upgrade, but I read both upstream and pkgbuild changes as part of understanding how everything works, and I specifically noticed the multiple packages being rebuilt for icu70 so I made sure to update those together.

I'm mentioning Xfce in case it's an actual issue, otherwise if nobody else chimes in then I must have made a mistake when trying to get its screenshooter to work instead of rebooting at once, with the mistake carrying over on the eventual reboot forcing me to downgrade icu. The error being that `/usr/lib/libicuuc.so.69` was not found, but I just realized maybe the `/usr/lib/libicuuc.so -> libicuuc.so.70` symlink change needed a reboot for all software to read it similar to how a file can be moved while it's still being read.

I will figure it out when I have time another day, if it's a rebooting non-issue then maybe this gives hints to OP at least.

Offline

#8 2021-11-28 01:52:26

loqs
Member
Registered: 2014-03-06
Posts: 18,045

Re: icu update issue

The /usr/lib/libicuuc.so symlink is used during building to point the linker to the library to use.  The generated executable will use the the symlink's target.
You can use lddtree from pax-utils to find what is linked to /usr/lib/libicuuc.so.69.
Edit:
xfce4-screenshooter -> xfce4-panel -> libxfce4ui -> gtk3 -> tracker3 which was rebuilt for icu 70.1

Last edited by loqs (2021-11-28 02:08:30)

Offline

#9 2021-11-29 09:42:16

DepDepSO
Member
Registered: 2021-11-27
Posts: 3

Re: icu update issue

loqs wrote:

You can use lddtree from pax-utils to find what is linked to /usr/lib/libicuuc.so.69.
Edit:
xfce4-screenshooter -> xfce4-panel -> libxfce4ui -> gtk3 -> tracker3 which was rebuilt for icu 70.1

Excellent! This is exactly the direction I needed, thank you.

Unfortunately, I haven't disclosed one more glaring detail about my partial upgrades. Due to the maximalist non-modular direction gnome and by extension gtk among others have been going, I've had to resort to making dummy packages for several years, well specifically two years on Arch. Why would a graphical toolkit or filesystem *require* network services and authentication, printing services, cloud providers, network discovery, data indexing... basically a large pile of storage, complexity, tracking, and potential security holes, all making it harder to sift through your package list, force more packages to update more often, and even harder to notice malware for example. I find this unacceptable, this isn't supposed to be Windows. Now I did see gtk has compile flags to disable some of it, but for now I'll deal with ripping out unused dependencies. Most of my dummy packages work on their own so pacman resolves as normal, but a few of them do result in missing .so errors from software that's compiled to look for them. The quick obviously not recommended unsustainable solution is to drop those missing .sos into /usr/lib/ from the original non-dummy packages and update them as needed.

Other forums keep claiming Arch breaks or is too bleeding edge, but it's been great to me even with my method of reading every change and deciding when to update. I only had several issues in two years that were either my fault for updating out of order or that were distro updated within a couple days. Anyway, this was a rare case where my dropped `libtracker-sparql-3.0.so` needed an update since the old one pointed to icu69 libraries instead of the symlinks. All I needed was lddtree to see it, otherwise I would have gone through each dummy and checked if I had dropped a file from before to eventually see it. The best for my purposes would be if pacman had an `OnlyExtract` whitelist per package, or maybe that's doable with a hook script.

It's still fun to be more in control of the system than the distro while simultaneously learning how everything works, don't need to jump to Gentoo just yet.

Last edited by DepDepSO (2021-11-29 09:48:32)

Offline

Board footer

Powered by FluxBB