After update with pacman -Syuq:

# pacman -Sc

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

# find / -name libicuuc.so.* 2>/dev/null

Arch Linux in a Pi version 1:

# uname -an
4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux
  • Same problem here, appeared today. For me libicuuc.so.59. I have to go through command line to boot and many programs do not work anymore – zakrapovic Nov 28 '17 at 15:54
  • Also missing libicui18n.so.59 probably related – zakrapovic Nov 28 '17 at 16:00
  • I actually solved my problem with pacman -Sc followed by pacman -Syuu – zakrapovic Nov 28 '17 at 16:05

Previously proposed solutions were not relevant or did not work for me. For some reason upgrading the icu package from 59.1-2 to 60.1-1 made linkage break and many programs (including pacman) failed with this error after. No interrupted pacman on my side.

If you still have the previous package in your cache, you can try this, which worked for me:

  1. Locate cached version of package (for example, mine was /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz).
  2. Extract it: mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
  3. Copy libs to your lib folder: sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
  4. Proceed with update: sudo pacman -Syyu
  5. You can now remove the files you just extracted.
  • 2
    Thanks, this worked for me. But how should I safe remove copied libicu*.59 files? rm /usr/lib/libicu*.59 ? – Skatox Dec 11 '17 at 3:25
  • This worked for me as well. Thanks, have an upvote. – Vaughan Hilts Jan 18 '18 at 3:01

You can also use the LD_LIBRARY_PATH variable to load the icu libraries from a different location. In this way, you can avoid any copies to /usr/lib:

$ mkdir -p ~/pkg/tmp
$ tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
$ su
# LD_LIBRARY_PATH=`pwd`/pkg/tmp pacman -U /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz
  • It was LD_LIBRARY_PATH=`pwd`/pkg/tmp/usr/lib in my case. – v_2e Feb 10 '18 at 4:51

I researched the problem and found about the /var/log/pacman.log. I read the log and found that the problem was:

[2017-11-28 04:34] [ALPM] upgraded libmariadbclient (10.1.28-1 -> 10.1.29-1)
[2017-11-28 04:34] [ALPM] transaction interrupted

The update was interrupted, hence the linkage problem.

I then downloaded the firmware from here. I extracted the missing library:

$ gunzip ArchLinuxARM-rpi-latest.tar.gz
$ tar -tf ArchLinuxARM-rpi-latest.tar |grep libicuuc.so.59
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59.1
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59

libicuuc.so.59 was a symlink to libicuuc.so.59.1, so I moved libicuuc.so.59.1 to /usr/lib/libicuuc.so.59.

Running pacman I got the error that libicudata.so.59 was missing. I extracted the missing library to /usr/lib and pacman was working :).

I then updated the system with pacman -Syuq and checked with ldd /usr/bin/pacman that all libraries were present. I moved the v59 libraries from /usr/lib and checked that pacman was working.

Reboot with fingers crossed... successfully!!!

pacman -Sc and go to bed with a smile :)


In case you have an executable that needs that particular version of the library (as it happened in my case), there is an aur package for that specific version.


Solved the problem with pacman -Sc followed by pacman -Syyu Not sure why it solved the problem.


In your system lib32-icu is not installed. Just install lib32-icu from pacman and all problem will be solved.

sudo pacman -S lib32-icu

I solved this problem with the help of the following link; here

According to this article downgrading is a bad idea and what you should probably do is rebuild the package that uses the above missing dependancy. Downgrading may affect multiple packages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.