Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: Shared libraries broken, not loaded by executables (libgsl, libicuuc, libcrypto) (Read 980 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Shared libraries broken, not loaded by executables (libgsl, libicuuc, libcrypto)

After an upgrade, I noticed that several programs on Artix began to fail on startup. Upon inspection of the error output in the shell, the culprit seems to be that some shared libraries (lib*.so) are now missing so the executables can't load anymore. Is anyone else experiencing this issue?

I don't think I can name them all (is there a command on pacman to try to resolve missing dependencies?) but here is some stack traces of affected programs I try to launch:

LibreOffice:

Code: [Select]
$ libreoffice 
javaldx: Could not find a Java Runtime Environment!
Warning: failed to read path from javaldx
/usr/lib/libreoffice/program/soffice.bin: error while loading shared libraries: libicuuc.so.71: cannot open shared object file: No such file or directory

Nextcloud client:

Code: [Select]
$ nextcloud
nextcloud: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

guvcview (webcam viewer):

Code: [Select]
$ guvcview 
guvcview: error while loading shared libraries: libgsl.so.25: cannot open shared object file: No such file or directory

So some shared libraries are missing. But what does pacman say about them individually?

Code: [Select]
$ pacman -Ss libcrypto
system/openssl 3.0.7-2 [installed]
    The Open Source toolkit for Secure Sockets Layer and Transport Layer
    Security

$ pacman -Ss libicuuc
system/icu 72.1-1 [installed]
    International Components for Unicode library

$ pacman -Ss gsl
world/gsl 2.7.1-1 [installed]
    The GNU Scientific Library (GSL) is a modern numerical library for C and
    C++ programmers

So in a way, the packages are installed, but their contents... aren't!

Have you been experiencing this problem as well? What could I try to to fix this - reinstalling the packages?

Re: Shared libraries broken, not loaded by executables (libgsl, libicuuc, libcrypto)

Reply #1
>What could I try to to fix this - reinstalling the packages?

Yes definitely do try that.

Also look closely at the library files and see if they're actually missing all together or if the library file exists but the specific version that the programs depend on doesn't exist.

Take a look at this: https://forum.artixlinux.org/index.php/topic,4656.msg29822/topicseen.html

Re: Shared libraries broken, not loaded by executables (libgsl, libicuuc, libcrypto)

Reply #2
Thanks for the suggestions. I guess I was a little ambiguous in the question, so to be a little more precise: since the executable is broken because of a dependency, should I reinstall the package or its (presumably broken) dependencies? Or both?

I did try both for guvcview (least important one of the chain) for a test but something even more bizarre happen afterwards:

Code: [Select]
$ sudo pacman -R gsl
[sudo] password for vman:
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing gsl breaks dependency 'gsl' required by guvcview-common

Ok, so we should remove the package and the dependencies:

Code: [Select]
$ sudo pacman -R guvcview guvcview-common gsl
checking dependencies...

Packages (3) gsl-2.7.1-1  guvcview-2.0.6-5  guvcview-common-2.0.6-5

Total Removed Size:  5.67 MiB

:: Do you want to remove these packages? [Y/n] y

...

Ok, success! Now to reinstall the main package per se:

Code: [Select]
$ sudo pacman -S guvcview
error: target not found: guvcview

Huh? Has it disappeared from the pacman cache?

Code: [Select]
$ pacman -Ss guvcview
$ pacman -Ss guvcview-common
$ sudo pacman -Syu
:: Synchronizing package databases...
 system is up to date
....
 there is nothing to do
$ pacman -Ss guvcview
$

Ok, now I'm super confused: have the packages been removed completely from the repos after some update? Which is why they are broken?

This is my gut feeling, since a cache search for the remaining broken packages also says they're missing anymore:

Code: [Select]
$ pacman -Ss nextcloud
$ pacman -Ss libreoffice # note the lack of the actual libreoffice package
world/libcdr 0.1.7-5 [installed]
    CorelDraw file format importer library for LibreOffice
world/unoconv 0.9-2
    Libreoffice-based document converter
galaxy/libreoffice-extension-texmaths 0.49-1
    A LaTeX equation editor for LibreOffice
galaxy/libreoffice-extension-writer2latex 1.6.1-2
    A java program and collection of LibreOffice extensions for converting to
    and working with LaTeX in LibreOffice

I also checked if the .so files were renamed or missing but doesn't seem to be the case. Example:

Code: [Select]
$ ls /usr/lib/libcrypto*
libcryptopp.so        libcryptopp.so.8.7.0  libcrypto.so.3
libcryptopp.so.8      libcrypto.so

But I would need libcrypto.so.1.1 instead.

Could this be a problem with my pacman mirror, perhaps?

Re: Shared libraries broken, not loaded by executables (libgsl, libicuuc, libcrypto)

Reply #3
I'm guessing guvcview got removed from the Artix repos, but you can still install it through the Arch repos:
Code: [Select]
$ pacman -Ss guvcview 
community/guvcview 2.0.8-1
    Simple GTK+ interface for capturing and viewing video from v4l2 devices
community/guvcview-common 2.0.8-1
    Common files for guvcview
community/guvcview-qt 2.0.8-1
    Simple Qt interface for capturing and viewing video from v4l2 devices

You can add Arch repos manually by reading the instructions from the Artix wiki, or you can use my script to do it more easily.

As for libreoffice, it got moved to the universe repo.

That libcrypto error is from the recent move to openssl 3, try installing openssl-1.1 


Re: Shared libraries broken, not loaded by executables (libgsl, libicuuc, libcrypto)

Reply #4
Thanks, enabling universe has given me back libreoffice-fresh. I guess I should subscribe to the mailing list or something to catch those announcements. Next up is enabling the Arch repos to install the other ones.

I still can't find nextcloud anywhere, though, I'm guessing it has had a fate similar to guvcview? I wonder if there are announcements as well for these packages that get removed altogether from the repos?

Thanks regardless!

 

Re: Shared libraries broken, not loaded by executables (libgsl, libicuuc, libcrypto)

Reply #5
nextcloud only exit in Arch's community repo and aur

same for guvcview