Garuda-settings-manager: error while loading shared libraries: libicuuc.so.74: cannot open shared object file: No such file or directory

Hello,

After recent update I started getting error when starting garuda-settings-manager: error while loading shared libraries: libicuuc.so.74: cannot open shared object file: No such file or directory

Tried
pacman -Syu garuda-settings-manager-git
no success.

Not sure how to proceed further to resolve it.

Mariusz

garuda-inxi

System:
  Kernel: 6.9.1-2-cachyos arch: x86_64 bits: 64 compiler: gcc v: 14.1.1 clocksource: tsc
    avail: hpet,acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-cachyos
    root=UUID=b8c044ba-3855-4296-80c1-38218b0791fd rw rootflags=subvol=@ quiet quiet
    rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
  Console: pty pts/1 DM: LightDM v: 1.32.0 Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop Mobo: Compulab model: fitlet2 v: 1.31 serial: <filter>
    uuid: 3d7d3c80-921c-11ec-8c75-fb3e412e0700 UEFI: American Megatrends v: FLT2.TPM.0.46.02.01
    date: 05/24/2021
CPU:
  Info: model: Intel Atom E3950 bits: 64 type: MCP arch: Goldmont level: v2 built: 2016
    process: Intel 14nm family: 6 model-id: 0x5C (92) stepping: 9 microcode: 0x48
  Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 224 KiB desc: d-4x24 KiB; i-4x32 KiB
    L2: 2 MiB desc: 2x1024 KiB
  Speed (MHz): avg: 1899 high: 2000 min/max: 800/2000 base/boost: 1600/2400 scaling:
    driver: intel_cpufreq governor: performance volts: 1.2 V ext-clock: 100 MHz cores: 1: 1829
    2: 1770 3: 2000 4: 2000 bogomips: 12748
  Flags: ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Apollo Lake [HD Graphics 505] driver: i915 v: kernel arch: Gen-9
    process: Intel 14n built: 2015-16 ports: active: HDMI-A-1,HDMI-A-2 empty: DP-1 bus-ID: 00:02.0
    chip-ID: 8086:5a84 class-ID: 0300
  Display: x11 server: X.org v: 1.21.1.13 compositor: xfwm4 driver: X: loaded: modesetting
    alternate: fbdev,intel,vesa dri: iris gpu: i915 tty: 116x26
  Monitor-1: HDMI-A-1 model: HP 25es serial: <filter> built: 2018 res: 1920x1080 dpi: 88
    gamma: 1.2 size: 553x309mm (21.77x12.17") diag: 633mm (24.9") ratio: 16:9 modes: max: 1920x1080
    min: 720x400
  Monitor-2: HDMI-A-2 model: HP 25es serial: <filter> built: 2017 res: 1920x1080 dpi: 88
    gamma: 1.2 size: 553x309mm (21.77x12.17") diag: 633mm (24.9") ratio: 16:9 modes: max: 1920x1080
    min: 720x400
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris device: 1 drv: swrast gbm:
    drv: iris surfaceless: drv: iris inactive: wayland,x11
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 24.0.7-arch1.3 note: console (EGL sourced)
    renderer: Mesa Intel HD Graphics 505 (APL 3), llvmpipe (LLVM 17.0.6 128 bits)
  API: Vulkan v: 1.3.279 layers: 4 device: 0 type: integrated-gpu name: Intel HD Graphics 505
    (APL 3) driver: mesa intel v: 24.0.7-arch1.3 device-ID: 8086:5a84 surfaces: N/A device: 1
    type: cpu name: llvmpipe (LLVM 17.0.6 128 bits) driver: mesa llvmpipe v: 24.0.7-arch1.3 (LLVM
    17.0.6) device-ID: 10005:0000 surfaces: N/A
Audio:
  Device-1: Intel Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl, snd_soc_avs, snd_sof_pci_intel_apl
    bus-ID: 00:0e.0 chip-ID: 8086:5a98 class-ID: 0403
  API: ALSA v: k6.9.1-2-cachyos status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.6 status: n/a (root, process) with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel I211 Gigabit Network driver: igb v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: e000 bus-ID: 01:00.0 chip-ID: 8086:1539 class-ID: 0200
  IF: enp1s0 state: down mac: <filter>
  Device-2: Intel I211 Gigabit Network driver: igb v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: d000 bus-ID: 02:00.0 chip-ID: 8086:1539 class-ID: 0200
  IF: enp2s0 state: down mac: <filter>
  Device-3: Intel I211 Gigabit Network driver: igb v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: c000 bus-ID: 03:00.0 chip-ID: 8086:1539 class-ID: 0200
  IF-ID-1: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, smbd, sshd, systemd-timesyncd
Drives:
  Local Storage: total: 119.24 GiB used: 47.16 GiB (39.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: BIWIN model: SSD size: 119.24 GiB block-size:
    physical: 512 B logical: 512 B speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: 2A scheme: GPT
Partition:
  ID-1: / raw-size: 118.95 GiB size: 118.95 GiB (100.00%) used: 47.16 GiB (39.7%) fs: btrfs
    block-size: 4096 B dev: /dev/sda2 maj-min: 8:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 584 KiB (0.2%) fs: vfat
    block-size: 512 B dev: /dev/sda1 maj-min: 8:1
  ID-3: /home raw-size: 118.95 GiB size: 118.95 GiB (100.00%) used: 47.16 GiB (39.7%) fs: btrfs
    block-size: 4096 B dev: /dev/sda2 maj-min: 8:2
  ID-4: /var/log raw-size: 118.95 GiB size: 118.95 GiB (100.00%) used: 47.16 GiB (39.7%)
    fs: btrfs block-size: 4096 B dev: /dev/sda2 maj-min: 8:2
  ID-5: /var/tmp raw-size: 118.95 GiB size: 118.95 GiB (100.00%) used: 47.16 GiB (39.7%)
    fs: btrfs block-size: 4096 B dev: /dev/sda2 maj-min: 8:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 7.4 GiB used: 512 KiB (0.0%) priority: 100 comp: zstd
    avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 4 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 46.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 8 GiB available: 7.4 GiB used: 2.91 GiB (39.3%) igpu: 256 MiB
  Processes: 256 Power: uptime: 29m states: freeze,mem,disk suspend: s2idle wakeups: 0
    hibernate: shutdown avail: reboot,suspend,test_resume image: 2.94 GiB
    services: upowerd,xfce4-power-manager Init: systemd v: 255 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1545 libs: 453 tools: pacseek,pamac,paru Compilers: clang: 17.0.6
    gcc: 14.1.1 Shell: garuda-inxi default: Bash v: 5.2.26 running-in: pty pts/1 inxi: 3.3.34
Garuda (2.6.26-1):
  System install date:     2024-05-19
  Last full system update: 2024-05-20
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:

This is due to icu - either you downgrade icu to version 74.2-2 or you wait for a fix from the developers of garuda-settings-manager :grin:

2 Likes

Thanks! Yes, I am on icu version 75.1. Will wait for fix.

1 Like

It’s better that way, because you would also have to downgrade gspell, harfbuzz-icu and raptor. And that would be nonsense :wink:

2 Likes

Will be rebuilt once the builders are back (TNE is working on them as we speak). Has been bumped here:

Edit: welp, it failed :frowning: someone needs to look into this before we go move forward.

4 Likes

This may be ill-advised, but whenever I’ve had this problem, I symlink the installed library to the requested library.

Here’s how.

First, find the location of garuda-settings-manager with the “whereis” command.

whereis garuda-settings-manager

Output:

garuda-settings-manager: /usr/bin/garuda-settings-manager

Next, see what libraries it’s failing to load using ldd.

ldd /usr/bin/garuda-settings-manager | grep icu

Output:

        libicuuc.so.74 => not found
        libicui18n.so.74 => /usr/lib/libicui18n.so.74 (0x00007aeb85400000)
        libicuuc.so.74 => not found
        libicuuc.so.74 => not found

This means it’s looking for “libicuuc.so.74” in any of the default locations.

Now, if you don’t know where it is, either search the internet or use the “find” command to see what versions you have installed.

sudo find /usr/lib -name "libicuuc.so*"

Output:

/usr/lib/libicuuc.so
/usr/lib/libicuuc.so.75
/usr/lib/libicuuc.so.75.2

If it doesn’t appear, then try using pacman to see what package provides the file.

pacman -F libicuuc.so

Output:

core/icu 75.1-1 [installed: 74.2-2]
    usr/lib/libicuuc.so

Once you’ve found the version you have installed, symlink it to the requested path.

sudo ln -s /usr/lib/libicuuc.so.75 /usr/lib/libicuuc.so.74

Keep in mind that this is a temporary solution and it’s best to remove the symlink before updating. You can remove symlinks like this:

First, ensure it’s a symlink by using ls.

ls -l "symlink path"

It will have an arrow like this if it’s a symlink:

lrwxrwxrwx 1 root root 16 Mar 16 00:21 /usr/lib/libicuuc.so.75 -> libicuuc.so.74*

Then use rm to remove it.

sudo rm "symlink path"

Now, it’s safe to update.

1 Like

Got fixed by @TNE in the meantime!

6 Likes

I should have checked to see if it successfully rebuilt, my bad.

Garuda Settings Manager is back. Just updated my system. All back to the way it was before. Thanks for all your work. You guys are awesome.

1 Like

Hey, this is a nice little write up! It turns out it was not needed in this case, but those are pretty good notes nonetheless.

You are right, symlinking libraries is Kind of a Bad IdeaTM and should only be done temporarily (if at all). It can definitely break things. However, as a quick-and-dirty workaround it can occasionally come in handy.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.