Project

General

Profile

Bug #3115

[icedove][p11-kit][multiple]: libffi.so.7: cannot open shared object file

avalos - about 1 month ago - . Updated 27 days ago.

Status:
in progress
Priority:
bug
Assignee:
% Done:

0%


Description

  • steps to reproduce:
    $ icedove
    
  • expected result:
    It should run normally, as it did before upgrading libffi.
  • actual result:
    It prints this error message:
    XPCOMGlueLoad error for file /usr/lib/icedove/libxul.so:
    libffi.so.7: cannot open shared object file: No such file or directory
    Couldn't load XPCOM.
    

Icedove needs an upgrade so badly!

History

#1

Updated by laust about 1 month ago

It's not only about icedove. Emacs can't start either.

#2

Updated by avalos about 1 month ago

Emacs is working fine for me, I'm running version 27.2, build 1.

#3

Updated by avalos about 1 month ago

Latest version of upstream (Thunderbird), 91.2.0-2, lists libffi.so=8-64 as a dependency, which means an upgrade to Icedove is what's needed.

#4

Updated by laust about 1 month ago

On my system with emacs 27.2-1:
emacs: error while loading shared libraries: libffi.so.7: cannot open shared object file: No such file or directory

Downgrading libffi to the previous version (3.3-4) and glib2 makes emacs complain about missing libffi.so.8.

#5

Updated by arnau about 1 month ago

Same problem here. This appeared since removing (compatibility) libffi.so.7 in 3.4.2-4:
https://github.com/archlinux/svntogit-packages/commit/856bd5b52222f1456334e0a08c13e58bdfda9db0

It seems that several packages in parabola must be rebuilt against libffi.so.8 as Arch did for this transition...

#6

Updated by Jetpack about 1 month ago

Like laust said, this problem is happening with other packages. I can't run these programs:
  • Plasma
  • Konsole
  • xfce4-terminal
  • mpv
  • Dolphin
  • Kdenlive
  • WeeChat

I'd strongly discourage upgrading Parabola until this issue is fixed

#7

Updated by Jetpack about 1 month ago

avalos wrote:

Icedove needs an upgrade so badly!

I agree. Though I do believe the package maintainers are working on it. I sawan updated version of Icedove on a test repo.

I'm also curious as to why this happened. libffi and mpv, for instance, are from the Arch Linux repos, there's no Libre/Non-PRISM version of them on Parabola. I'm guessing mpv depends on a package which has a Libre version and it depends on libffi? If that's the case, then I believe there's no need to rebuild all of these packages.

#8

Updated by avalos about 1 month ago

Jetpack wrote:

Like laust said, this problem is happening with other packages. I can't run these programs:
  • Plasma
  • Konsole
  • xfce4-terminal
  • mpv
  • Dolphin
  • Kdenlive
  • WeeChat

All of these programs are running fine for me, except for WeeChat and xfce4-terminal, which I don't have installed. Emacs is also working.

#9

Updated by Jetpack about 1 month ago

That's interesting. Maybe it's something to do with the additional repositories I have.

#10

Updated by laust about 1 month ago

Looking at the dependency tree, many packages depend on libffi in some way and are broken. For example:
  • cups
  • dirmngr from package gnupg
  • libreoffice
  • okular
  • skanlite
  • kstars
  • viking

There are probably others.
Note: dunst has been updated and now works. Hopefully the rest will follow.

Jetpack wrote:

That's interesting. Maybe it's something to do with the additional repositories I have.

These are the repositories I have:
  • [nonprism]
  • [nonsystemd]
  • [libre]
  • [core]
  • [extra]
  • [community]
  • [pcr]
#11

Updated by Jetpack about 1 month ago

I am also using the nonprism and nonsystemd repositories. I can confirm LibreOffice does not work as well indeed, same for dirmngr. Fortunately GnuPG works.

Does anyone know which packages exactly require a rebuild?

Also, I tried running Plasma on X11 instead of Wayland and it freezes instead of closing immediately after opening. For now, I'm using Xfce with no problems.

#12

Updated by kira64xyz about 1 month ago

I am also having this issue, I've narrowed it down to libp11-kit in nonsystemd.
The same issue also happens on a brand new install from the latest install medium.
For now, it can be mitigated by either manually installing the version of p11-kit from core or copying the libffi.so.7 library from a backup.

Other packages that do not function include:
  • ffmpeg
  • mpd
  • neomutt
#13

Updated by dllud about 1 month ago

Same problem here, though only in icedove. Most other packages mentioned above (libreoffice, mpv, ffmpeg, mpd) are working fine. Do note that those packages come directly from Arch where they have probably been rebuilt to cater for the new libffi. Just check if you're running the latest version.

As for icedove, downgrading libffi to 3.4.2-3 works around the problem for the time being. Hopefully the maintainers will find the time to rebuild it soon.

#14

Updated by Jetpack about 1 month ago

That was it, kira64xyz! Thanks for sharing this. I compiled libp11-kit myself and everything works again :)

#15

Updated by avalos about 1 month ago

I figured out what was causing Python programs that rely on libffi to stop working. Turns out in PIP I had locally (--user) installed (as a dependency) a version of PyGObject that relies on libffi.so.7, so packages were loading it instead of the one globally installed by Pacman. I solved it by removing the user version of PyGObject so that programs load the Pacman version.

I uninstalled Icedove and switched to Claws Mail, but I think I'm switching back once Icedove is working again.

#16

Updated by CommodoreCrunch about 1 month ago

Not to put too fine a point on it, but I did make a pull request for this a full week ago: https://pagure.io/abslibre/pull-request/32

I do understand that Parabola is a small distro with very busy volunteers, though. If you need a maintainer for nonsystemd packages, I'm available.

#17

Updated by dario about 1 month ago

As a temporary fix I installed libffi7: https://aur.archlinux.org/packages/libffi7/

#18

Updated by bill-auger 28 days ago

  • Status changed from unconfirmed to confirmed
  • Subject changed from [icedove]: libffi.so.7: cannot open shared object file to [p11-kit][multiple]: libffi.so.7: cannot open shared object file

sry for the delay - p11-kit-0.24.0-2.nonsystemd1 fixes this (thanks CommodoreCrunch)

only non-systemd users were affected;
but not only the 'icedove' package (eg: QEMU will not start)

#19

Updated by bill-auger 28 days ago

  • Assignee set to bill-auger
  • Status changed from confirmed to in progress
#20

Updated by kira64xyz 28 days ago

can confirm, after upgrading everything is now fully functional again! Thanks a lot :)

#21

Updated by bill-auger 28 days ago

  • Status changed from in progress to fixed

the pagure repo seems to be working out well - it may be good if it were more generally known, as a resource for all users to find patches, like maybe an extra "sources" link on each package page, for any PR matching the package name

in this case, it was a serious bug - CommodoreCrunch's PR could have been linked to a bug report immediately; and perhaps some users could have fixed their system based on that, even before any parabola dev reviewed the change

#22

Updated by dllud 28 days ago

only non-systemd users were affected

bill-auger, I am a systemd user and I am still affected, but just on icedove.
The p11-kit package I have installed comes from [core].

#23

Updated by avalos 28 days ago

dllud wrote:

only non-systemd users were affected

bill-auger, I am a systemd user and I am still affected, but just on icedove.
The p11-kit package I have installed comes from [core].

Same! I'm using systemd as well, and Icedove is the only package that doesn't work. Doesn't seem like p11-kit is related, but I don't even know what it is, so I'm not sure.

#24

Updated by Jetpack 28 days ago

dllud wrote:

only non-systemd users were affected

bill-auger, I am a systemd user and I am still affected, but just on icedove.
The p11-kit package I have installed comes from [core].

I'm having the same issue, but just with Icedove as well.

#25

Updated by bill-auger 27 days ago

  • Status changed from fixed to in progress
  • Subject changed from [p11-kit][multiple]: libffi.so.7: cannot open shared object file to [icedove][p11-kit][multiple]: libffi.so.7: cannot open shared object file

the complete error message is:

$ icedove 
XPCOMGlueLoad error for file /usr/lib/icedove/libxul.so:
libffi.so.7: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

the icedove package may need to be pinned to libffi explicitly,
to prevent this in the future - i will re-open the tiket

$ lddtree /usr/lib/icedove/icedove
/usr/lib/icedove/icedove (interpreter => /lib64/ld-linux-x86-64.so.2)
    libpthread.so.0 => /usr/lib/libpthread.so.0
    libdl.so.2 => /usr/lib/libdl.so.2
    libstdc++.so.6 => /usr/lib/libstdc++.so.6
    libm.so.6 => /usr/lib/libm.so.6
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
    libc.so.6 => /usr/lib/libc.so.6
    ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2

Also available in: Atom PDF