Fedora 38 - can't boot /lib64/libassuan.so.0 file too short

Hi,

I have been using Fedora for few months without any issues so far. Then I haven’t touched my computer for few weeks and when I am trying to use him and boot on Fedora, I am getting a white screen asking me to contact my administrator…

I managed to get into the CLI mode and it seems that everytime I am trying to use DNF, it is prompting me the error

/lib64/libassuan.so.0 file too short

but this file is not existing on my drive. After checking google, it seems that this library would be linked to “pacman” which doesn’t seem to be installed on my system (command not found).

the system is running Fedora38

Does anyone has a clue about how to get my system back working?

thank you,

tibibs

That message seems to indicate there is something wrong with that particular file. You could try reinstalling the package that provides that file. Since DNF isn’t working, download the file manually from here: libassuan-2.5.6-1.fc38 | Build Info | koji

After it is downloaded, use rpm to reinstall: sudo rpm -Uvh full_file_name

Hopefully, that would fix it.

1 Like

On my system it seems that the libassuan package does not install the noted library file. In fact, the file /usr/lib64/libassuan.so.0 file is only provided by the libassuan-devel package according to dnf.

pacman is not installed on my system (and should not be on most fedora systems) since it appears to be the package manager for Arch Linux.

It would seem that something has happened to the dnf command since it should not be trying to access that particular library file with a normal workstation installed system.

1 Like

That’s weird. Here is what my command showed:
sudo dnf provides libassuan
Last metadata expiration check: 1:50:34 ago on Mon Aug 28 06:42:06 2023.
libassuan-2.5.5-6.fc38.i686 : GnuPG IPC library
Repo : fedora
Matched from:
Provide : libassuan = 2.5.5-6.fc38

libassuan-2.5.5-6.fc38.x86_64 : GnuPG IPC library
Repo : fedora
Matched from:
Provide : libassuan = 2.5.5-6.fc38

libassuan-2.5.6-1.fc38.i686 : GnuPG IPC library
Repo : updates
Matched from:
Provide : libassuan = 2.5.6-1.fc38

libassuan-2.5.6-1.fc38.x86_64 : GnuPG IPC library
Repo : @System
Matched from:
Provide : libassuan = 2.5.6-1.fc38

libassuan-2.5.6-1.fc38.x86_64 : GnuPG IPC library
Repo : updates
Matched from:
Provide : libassuan = 2.5.6-1.fc38

sudo dnf provides libassuan.so.0
Last metadata expiration check: 1:52:26 ago on Mon Aug 28 06:42:05 2023.
libassuan-2.5.5-6.fc38.i686 : GnuPG IPC library
Repo : fedora
Matched from:
Provide : libassuan.so.0

libassuan-2.5.6-1.fc38.i686 : GnuPG IPC library
Repo : updates
Matched from:
Provide : libassuan.so.0

Thanks for your help.

I have installed libassuan, but I still have the same error.
And I tried to install the devel version but I have some dépendances issues (pkgconfig missing)

I used
sudo dnf provides */libassuan.so and was given the libassuan-devel package only.
sudo dnf provides */libassuan.so.0 (which is the file that was deemed missing) gives the libassuan package.
Wierd!

1 Like

Actually, now the file exists after installing the normal package, but is empty (after opening with nano).
And I still have the same error :frowning:

Library files are binary and opening with nano is not appropriate.

lrwxrwxrwx. 1 root root       18 Jun 18 19:00 /usr/lib64/libassuan.so.0 -> libassuan.so.0.8.6
-rwxr-xr-x. 1 root root    86816 Jun 18 19:00 /usr/lib64/libassuan.so.0.8.6
# file /usr/lib64/libassuan*
/usr/lib64/libassuan.so.0:     symbolic link to libassuan.so.0.8.6
/usr/lib64/libassuan.so.0.8.6: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8e2bf89cb433bd697d85602d7352445b8b974f44, stripped

I have 3 files in /lib64

Libassuan. so.0 → Libassuan. so.0.8.6
Libassuan. so.0.8.5
Libassuan. so.0.8.6

Changing the link to Libassuan. so.0.8.5 didn’t improve the situation

I am a bit lost

libassuan is widely used:

Assuan was developed for use by the GNU Privacy Guard, GnuPG,[…]

Assuan is not, however, limited to use with GnuPG servers and clients: it was design to be flexible enough to meet the demands of almost any transaction based environment with non-persistent servers.

dnf is a python script, so libassuan is probably required by one the the python libraries used by dnf. Since dnf isn’t working for you, I’ll provide
some details that maight be helpful. In my experience, a truncated system file is often a sign of deeper issues like a failing storage device or full filesystem.
As a minimum, I suggest check the S.M.A.R.T status of the drive using Gnome Disks.

Here:

% dnf info libassuan.x86_64`
[...]
Installed Packages
Name            : libassuan
Epoch           : 0
Version         : 2.5.6
Release         : 1.fc38
Architecture    : x86_64
Installed size  : 167.3 KiB
Source          : libassuan-2.5.6-1.fc38.src.rpm
From repository : updates
Summary         : GnuPG IPC library
URL             : https://www.gnupg.org/
License         : GPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-or-later
Description     : This is the IPC library used by GnuPG 2, GPGME and a few other
                : packages.
% dnf whatprovides \*/lib64/libassuan\*
Last metadata expiration check: 0:01:22 ago on Mon 28 Aug 2023 12:57:56 PM.
libassuan-2.5.5-6.fc38.x86_64 : GnuPG IPC library
Repo        : fedora
Matched from:
Filename    : /usr/lib64/libassuan.so.0
Filename    : /usr/lib64/libassuan.so.0.8.5

libassuan-2.5.6-1.fc38.x86_64 : GnuPG IPC library
Repo        : @System
Matched from:
Filename    : /usr/lib64/libassuan.so.0
Filename    : /usr/lib64/libassuan.so.0.8.6

libassuan-2.5.6-1.fc38.x86_64 : GnuPG IPC library
Repo        : updates
Matched from:
Filename    : /usr/lib64/libassuan.so.0
Filename    : /usr/lib64/libassuan.so.0.8.6

libassuan-devel-2.5.5-6.fc38.x86_64 : GnuPG IPC library
Repo        : fedora
Matched from:
Filename    : /usr/lib64/libassuan.so

libassuan-devel-2.5.6-1.fc38.x86_64 : GnuPG IPC library
Repo        : updates
Matched from:
Filename    : /usr/lib64/libassuan.so

Note that /lib64 is a symbolic link:

% ls -ld /lib*
lrwxrwxrwx. 1 root root 7 Jan 18  2023 /lib -> usr/lib/
lrwxrwxrwx. 1 root root 9 Jan 18  2023 /lib64 -> usr/lib64/

my disk is pretty new (not fail proof but…) and not heavily used at all.

SMART data looks alright (taken from windows)

You could examine the dnf history for changes involving libassuan, Here:

% dnf history libassuan.x86_64
No transaction which manipulates package 'libassuan.x86_64' was found.

I assume that means libassuan.x86_64 has not changed since F38 was installed.

Actually the release of F38 in April was libassuan package version 2.5.5-6 and it was updated to 2.5.6-1 in early July according to my dnf history. Of course that means any system upgraded from F37 to F38 or installed from an updated respin of F38 after the package update would not see that change because they would already have the newer version.

I will try but unfortunately, it looks like all the “dnf” functions are raising the same error. I will check tonight when I will be back

Jeff,

I upgraded my Fedora36 to 37 to 38. Probably before July.
Should I install the 2.5.5-6 package instead of the 2.5.6-1?

The above method is missing the --force option, which is necessary to actually reinstall the package, so try this way:

sudo rpm --force -i https://dl.fedoraproject.org/pub/fedora/linux/updates/38/Everything/x86_64/Packages/l/libassuan-2.5.6-1.fc38.x86_64.rpm

If the issue persists, check the output:

sudo rpm -V -a
2 Likes

Wonderful, it worked like a charm. thank’s a lot.
I am not too sure about what happened in the first place but… problem solved