I just installed a fresh os with manjaro Linux i3-wm edition.

I couldn't find Firefox by default so I installed it via pacman.

Now when I run the Firefox command I get back:

XPCOMGlueLoad error for file /usr/lib/firefox/libxul.so
libicui18n.so.58: cannot open shared object file: No such file or directory
couldn't load XPCOM.

Any ideas as to what might be causing this problem?

  • Have you tried searching your system (using mlocate for example) for libxul.so? I have 2 Firefox derivative installed on my Arch system and each of them has that file installed at a different location than the path you gave. – airhuff Mar 9 '17 at 21:43
  • I get back: locate: can not stat () '/var/lib/mlocate.db' : No such file or directory – Philip Kirkbride Mar 9 '17 at 22:05
  • It sounds like it's installed but has never been updated. Try running updatedb followed by locate libxul.so – airhuff Mar 9 '17 at 22:06
  • From my previous comment, updatedb must be run as root/sudo but locate does not. Are you using the standard Firefox from the official Arch repositories, installed by sudo pacman -Syu firefox or from a GUI front end to the official repositories and not something from the AUR? – airhuff Mar 10 '17 at 1:10
  • I ran the command but still same problem. I'm using whatever was default on pacman. – Philip Kirkbride Mar 10 '17 at 1:11

Above comments offer no help because they don't know well about Archlinux (yes Manjaro is based on Archlinux).

The cause of this issue is Archlinux's rolling update, while Firefox is still using the old version of icu, this package has been updated in Archlinux's upstream, so Firefox failed to find libicui18n.so.58, which is provided by version 58 of icu.

So in order to fix it, just install the old version from AUR via yaourt or any tool you like. In your case, icu58 is needed.

And next time you come across the same error, first you should find out which package does the library belongs to, then try to install the required version of that package. In this case, pacman -Qo /usr/lib/libicui18n.so should tell you icu own that library, the .58 after .so tells you the required version is 58, then you can go straight to AUR to find that package.

PS: the version number is likely to change over time. I just tested and it tells *.so.59 not found.

| improve this answer | |

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.