I cannot open Nautilus anymore due to a missing version of the libicuuc library

On Manjaro Gnome, I cannot open Nautilus anymore after updating due to a missing version of the libicuuc library:

nautilus
nautilus: error while loading shared libraries: libicuuc.so.76: cannot open shared object file: No such file or directory

Anybody else?

Those are the available libraries:

ls -l /usr/lib/libicu\*

lrwxrwxrwx 1 root root       18  4. Nov 16:46 /usr/lib/libicudata.so → libicudata.so.78.1
lrwxrwxrwx 1 root root       18  4. Nov 16:46 /usr/lib/libicudata.so.78 → libicudata.so.78.1
-rwxr-xr-x 1 root root 33112920  4. Nov 16:46 /usr/lib/libicudata.so.78.1
lrwxrwxrwx 1 root root       18  4. Nov 16:46 /usr/lib/libicui18n.so → libicui18n.so.78.1
lrwxrwxrwx 1 root root       18  4. Nov 16:46 /usr/lib/libicui18n.so.78 → libicui18n.so.78.1
-rwxr-xr-x 1 root root  3721776  4. Nov 16:46 /usr/lib/libicui18n.so.78.1
lrwxrwxrwx 1 root root       16  4. Nov 16:46 /usr/lib/libicuio.so → libicuio.so.78.1
lrwxrwxrwx 1 root root       16  4. Nov 16:46 /usr/lib/libicuio.so.78 → libicuio.so.78.1
-rwxr-xr-x 1 root root    59432  4. Nov 16:46 /usr/lib/libicuio.so.78.1
lrwxrwxrwx 1 root root       18  4. Nov 16:46 /usr/lib/libicutest.so → libicutest.so.78.1
lrwxrwxrwx 1 root root       18  4. Nov 16:46 /usr/lib/libicutest.so.78 → libicutest.so.78.1
-rwxr-xr-x 1 root root    77208  4. Nov 16:46 /usr/lib/libicutest.so.78.1
lrwxrwxrwx 1 root root       16  4. Nov 16:46 /usr/lib/libicutu.so → libicutu.so.78.1
lrwxrwxrwx 1 root root       16  4. Nov 16:46 /usr/lib/libicutu.so.78 → libicutu.so.78.1
-rwxr-xr-x 1 root root   220000  4. Nov 16:46 /usr/lib/libicutu.so.78.1
lrwxrwxrwx 1 root root       16  4. Nov 16:46 /usr/lib/libicuuc.so → libicuuc.so.78.1
lrwxrwxrwx 1 root root       16  4. Nov 16:46 /usr/lib/libicuuc.so.78 → libicuuc.so.78.1
-rwxr-xr-x 1 root root  2144304  4. Nov 16:46 /usr/lib/libicuuc.so.78.1

Trying to create symlinks from .76 to the .78 libraries changes the error when starting nautilus to “missing symbols”, which indicates breaking changes in the library. I can see in the Pacman GUI that the Nautilus package has a dependency on “icu 78” so I wonder why it requires icu 76?


Mod edit:- Tidy of pre-formatted text. No charge.

The package nautilus-typeahead does not seem to be compatible with the current version of Gnome 49, even though it’s version suggests otherwise. Removing nautilus-typeahead and installing the default nautilus fixes this. But it breaks typeahead, which is kind of sad.

You need to rebuild nautilus-typeahead on icu 78.

NEVER create symlinks like that. The libraries are versioned for a reason and as you discovered, are neither forward nor backwards compatible.

3 Likes

Thanks, rebuilding nautilus-typeahead makes it work!

I thought nautilus-typeahead was updated the same time as the latest Gnome stable update, but it turns out that the package was build and linked before that, while the dependency icu was still at v46.

I wonder if there’s a way for pacman to detect this situation (e.g. library used for building/dynamic linking is being updated with a new ABI version) and trigger a rebuild of affected packages automatically?

1 Like

Pacman does not manage your AUR packages, you do. :wink:

Having said that, using rebuild-dectector might help out.

4 Likes

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