LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware current "error while loading shared libraries: libicui18n.so.61" (https://www.linuxquestions.org/questions/slackware-14/slackware-current-error-while-loading-shared-libraries-libicui18n-so-61-a-4175640586/)

bvandonselaar 10-17-2018 01:20 PM

Slackware current "error while loading shared libraries: libicui18n.so.61"
 
Hi all,

I upgraded my Slackware64-current today and a couple of Qt applications won't launch anymore.
The error is
Code:

qbittorrent: error while loading shared libraries: libicui18n.so.61: cannot open shared object file: No such file or directory
LibreOffice
Qdirstat
Qt designer, assistent, linquist etc.

also won't launch anymore. So did the newest current update broke something with Qt?

volkerdi 10-17-2018 01:23 PM

Warned about in the ChangeLog. After an update to icu4c many out-of-tree packages will break until recompiled.

bvandonselaar 10-17-2018 01:25 PM

Quote:

Originally Posted by volkerdi (Post 5915940)
Warned about in the ChangeLog. After an update to icu4c many out-of-tree packages will break until recompiled.

Thank you, i should have read it better. My fault! ;)

dugan 10-17-2018 03:42 PM

Last I checked, Alien Bob's Lua package was another one. Took me forever to realize why MPV wasn't working until I realized that Lua was broken.

tomtomjkw 10-18-2018 04:23 AM

Yeah, that also affects Teamviewer, GUI does not start.

chrisVV 10-18-2018 07:02 AM

Quote:

Originally Posted by tomtomjkw (Post 5916187)
Yeah, that also affects Teamviewer, GUI does not start.

icu4c is a good library to have this problem with, because it allows programs to link against more than one version of the library. This is because by default it mangles its symbols with a major/minor version number, so avoiding symbol clashes between old and new versions. See http://userguide.icu-project.org/des...-Level-Library under the heading "Linking against multiple versions of ICU4C" if you are interested. (Most libraries do not allow programs to link against multiple versions of the library at the same time.)

So what you need to do is keep copies of libicudata.so.61, libicui18n.so.61, libicuio.so.61, libicutest.so.61, libicutu.so.61 and libicuuc.so.61 from icu4c-61.1-i586-2.txz or icu4c-61.1-x86_64-2.txz (discard the rest), and put them in a icu4c-compat package which contains the shared libraries for all the versions of icu4c that you have things linking against. That has worked for me: although I don't use KDE/plasma I do have gnucash installed which links against both my own webkit package and slackware's boost package, which in turn link against icu4c-61 and icu4c-63 respectively.

tomtomjkw 10-18-2018 10:26 AM

Thx, will try it. Now I'm halfway into recompiling qt5 with no guarantee of success; definitely not my preferred afternoon activity.

Chuck56 10-18-2018 10:45 AM

Quote:

Originally Posted by chrisVV (Post 5916233)
icu4c is a good library to have this problem with, because it allows programs to link against more than one version of the library. This is because by default it mangles its symbols with a major/minor version number, so avoiding symbol clashes between old and new versions. See http://userguide.icu-project.org/des...-Level-Library under the heading "Linking against multiple versions of ICU4C" if you are interested. (Most libraries do not allow programs to link against multiple versions of the library at the same time.)

So what you need to do is keep copies of libicudata.so.61, libicui18n.so.61, libicuio.so.61, libicutest.so.61, libicutu.so.61 and libicuuc.so.61 from icu4c-61.1-i586-2.txz or icu4c-61.1-x86_64-2.txz (discard the rest), and put them in a icu4c-compat package which contains the shared libraries for all the versions of icu4c that you have things linking against. That has worked for me: although I don't use KDE/plasma I do have gnucash installed which links against both my own webkit package and slackware's boost package, which in turn link against icu4c-61 and icu4c-63 respectively.

Thanks chrissVV! Learn something new every day!

I wanted to use alienbob's VLC package today for some video work and your guidance/reminder worked for me. I put together an x86_64 icu4c-compat package for those who might want to go this route until they get their packages rebuilt.

https://www.go4it2day.com/downloads/...-1_chuck56.tgz

md5sum: 232d91498b2ba37071fbed6e4d8e8da7

Enjoy!

chrisVV 10-18-2018 10:57 AM

Quote:

Originally Posted by tomtomjkw (Post 5916318)
Thx, will try it. Now I'm halfway into recompiling qt5 with no guarantee of success; definitely not my preferred afternoon activity.

By the way, if you want old versions of things this is a good resource: http://slackmirror.cbpf.br/pub/slack...nt/slackware64 (and the equivalent for slackware-current).

USUARIONUEVO 10-18-2018 04:55 PM

Correct way , is donwload de *.slackbuild script and compile again your broken packages.

if the broken package are from alienb0b , as example "qbittorrent" , ...then..

-->>>>> http://www.slackware.com/~alien/slac...torrent/build/

Or wait for new package.

Mantaining "old" versions of libs/packages are not the correct way.


All times are GMT -5. The time now is 06:11 PM.