error while loading shared libraries: libicui18n.so.68
Asked Answered
H

7

22

I got this error after installing nodejs and npm using pacman:

node: error while loading shared libraries: libicui18n.so.68: cannot open shared object file: No such file or directory

I already tried setting LD_LIBRARY_PATH to /usr/local/lib/ and that hasn't worked and I also have tried looking for the file everywhere and haven't found it.

LD_LIBRARY_PATH=/usr/local/lib/
find / -iname libicui18n.so.68
Herefordshire answered 31/12, 2020 at 10:41 Comment(5)
Seems like a flaw in the design of NodeJS. My system uses .70 but one application requires .69 to build. If I do ls /usr/lib/libicui18n.so.* I only see version .70 and no previous versions. Whose fault is that? I blame NodeJS :-)Spunk
@PJBrunet - what system are you using? I started a thread on this for arch bugs.archlinux.org/…Unheardof
@Unheardof Manjaro.Spunk
seems to be a regular occurrence, it happened to me once, then was fixed, now broken again....Windswept
Just for reference (I stranded here this way): this is the same question for Ubuntu/Debian or other distos based on this.Rhododendron
S
15
sudo pacman -S nodejs                                                                                                                1 ✘ 
resolving dependencies...
looking for conflicting packages...
:: nodejs and nodejs-lts-erbium are in conflict. Remove nodejs-lts-erbium? [y/N] y

Packages (2) nodejs-lts-erbium-12.22.11-1 [removal]  nodejs-18.7.0-1

Total Download Size:   10.22 MiB
Total Installed Size:  38.16 MiB
Net Upgrade Size:      11.81 MiB

re-installing nodejs worked for me

Squamosal answered 18/8, 2022 at 5:36 Comment(2)
Just for reference (I stranded here this way): this is the solution for Ubuntu/Debian or other distos based on thisRhododendron
I just got this when they retired fermium from the repos. Same solution except I installed another LTS in its place: pacman -S nodejs-lts-hydrogen. ArchWiki: Node.js#Installation has the updated LTS packages. WARNING: This solution might break some of your NodeJS apps!Jenness
A
14

I ran into the same issue, but updating the system resolved it for me. Use:

$ pacman -Syu
Adolescent answered 16/5, 2021 at 1:33 Comment(1)
worked for me, tooChinatown
S
4

libicui18n.so.68 is provided by core/icu package and it is located in /usr/lib

$ pacman -F libicui18n.so
core/icu 65.1-2 [installed: 68.2-1]
usr/lib/libicui18n.so

$ pacman -Qo /usr/lib/libicui18n.so.68
/usr/lib/libicui18n.so.68 is owned by icu 68.2-1
Stallion answered 7/1, 2021 at 8:49 Comment(3)
changing LD_LIBRARY_PATH value not workedCoroner
Could you install or re-install the package core/icu ? pacman -S core/icuStallion
Check the above answer I wrote update icu package with the packages that require older version together.Huge
H
4

Check what version of node-js you are using.

Try installing nodejs. If you get a conflict that another nodejs is installed that is probably your issue.

Example:

nodejs and nodejs-lts-dubnium are in conflict. Remove nodejs-lts-dubnium? [y/N] y
Halinahalite answered 1/12, 2021 at 23:40 Comment(0)
K
2

Answer:

Installing these libraries will solve your problem :

sudo pacman -Sy brltty harfbuzz-icu icu

Background :

Couldn't run samba server because of icu and when I try to update package icu it finds conflict for two dependencies. Including them solved icu installation and also solved smb service problem and cleanly restarted samba server ... which was giving an error :

/usr/bin/smbd: error while loading shared libraries: libicui18n.so.71: cannot open shared object file: No such file or directory

icu dependency error was :

X@Y ~ $ sudo pacman -S icu
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing icu (71.1-1) breaks dependency 'libicuuc.so=70-64' required by brltty
:: installing icu (71.1-1) breaks dependency 'libicuuc.so=70-64' required by harfbuzz-icu
Kaminsky answered 4/5, 2022 at 14:6 Comment(2)
Including some libraries solved to problem brltty harfbuzz-icu and icu. I admit the answer is not clear. However you did not concentrate on the message enough and gave a premature verdict. Thats on you. Nevertheless I fixed it for you.Huge
I reviewed the updated answer. While it doesn't address OP head on, it gives an alternative path towards a solution. Thank you.Accelerator
R
1

Basically the same approach as the answer by MauricioOtta, if you installed node with brew. Then you can consider this answer, which gave me:

brew uninstall node
brew install node

It also works on Ubuntu or other distributions with homebrew - maybe even MacOS.

It could be possible to install node with nix-env too.

Rhododendron answered 31/12, 2020 at 10:41 Comment(1)
brew install nodejs was enough for me to trigger the update and make this work!Rhetorician
B
0

So the same problem occurred to me and so this is how I solved it ->

Firstly Update your linux ->

sudo apt update

uninstall and then reinstall nodejs ->

brew uninstall node

brew install node

node -v

Then before running dfx start & dfx deploy install the node module using ->

npm i

npm install [email protected] --save-dev

npm run start

This should solve the problem ->

Stderr: node: error while loading shared libraries: libicui18n.so.73: cannot open shared object file: No such file or directory
Bain answered 10/4 at 12:18 Comment(1)
Your apt command is for Ubuntu/Debian. Then your brew command is for Mac. Not to mention the question was about Arch/Manjaro...Cryptocrystalline

© 2022 - 2024 — McMap. All rights reserved.