Project

General

Profile

Bug #3115

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

avalos - over 2 years ago - . Updated 6 days ago.

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

100%


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!


Subtasks

Bug #2958: [libre/icedove-extension-enigmail] Not compatible with latest [gnupg]fixedoaken-source

Actions

Related issues

Related to Packages - Bug #3034: icedove: XPCOMGlueLoad error for file /usr/lib/icedove/libxul.sofixed

Actions
Has duplicate Packages - Packaging Request #3476: Outdated Icedoveduplicate

Actions
Has duplicate Packages - Bug #3481: [icedove] rebuild against latest libffiduplicate

Actions

History

#1

Updated by laust over 2 years ago

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

#2

Updated by avalos over 2 years ago

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

#3

Updated by avalos over 2 years 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 over 2 years 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 over 2 years 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 over 2 years 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 over 2 years 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 over 2 years 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 over 2 years ago

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

#10

Updated by laust over 2 years 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 over 2 years 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 over 2 years 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 over 2 years 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 over 2 years ago

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

#15

Updated by avalos over 2 years 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 over 2 years 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 over 2 years ago

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

#18

Updated by bill-auger over 2 years 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 over 2 years ago

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

Updated by kira64xyz over 2 years ago

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

#21

Updated by bill-auger over 2 years 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 over 2 years 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 over 2 years 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 over 2 years 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 over 2 years 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
#26

Updated by bill-auger over 2 years ago

linking to #2053 - currently, any successful icedove build closes both tickets

#27

Updated by bill-auger over 2 years ago

  • Related to Bug #2053: [libre/icedove]: rebuild against new icu (x86_64) added
#28

Updated by bill-auger about 2 years ago

the icedove in libre is still broken - are ppl happy with the one in libre-testing? - it would be good to promote it libre

#29

Updated by bill-auger about 2 years ago

  • Related to Bug #3034: icedove: XPCOMGlueLoad error for file /usr/lib/icedove/libxul.so added
#30

Updated by dllud about 2 years ago

are ppl happy with the one in libre-testing?

Not so much. At least for me. The one in libre-testing was built almost 1 year ago. It has the same dependency problems. For instance:

cannot resolve "libvpx.so=6-64", a dependency of "icedove"

#31

Updated by infertux about 2 years ago

bill-auger wrote:

the icedove in libre is still broken - are ppl happy with the one in libre-testing? - it would be good to promote it libre

I've been happy with it. It just needs a rebuild to update libvpx.so and it will be fine to promote it to libre IMO.

#32

Updated by bill-auger about 2 years ago

i have tried to rebuild it several times this week; with no
success yet

#33

Updated by Marx.FelipeForte about 2 years ago

Can confirm the same issue and error dialog, 2022-04-09

#34

Updated by bill-auger about 1 year ago

just an update:

to be clear WRT the ticket title, libffi is/was a symptom, not the problem - the blocker of this ticket is that icedove has failed to compile since v78 was current - FWIW, ive tried several releases that i did not bother to comment about

tried again, at v102.9 - this time, it compiles and runs; but the program is missing all texts - the branding may need re-working now

#35

Updated by bill-auger about 2 months ago

as a concession, i have packaged the trisquel icedove binaries for parabola in PCR - icedove - the package name is 'icedove-bin', if people want to use it

i am keeping this ticket 'open'; because the is not an ideal solution

binary packages are generally not acceptable
icedove has been unable to build for a long time though
libre/icedove still works; but is quite out-of-date
ideally, let's fix libre/icedove and delete pcr/icedove-bin

#36

Updated by bill-auger about 1 month ago

#37

Updated by bill-auger about 1 month ago

  • Has duplicate Bug #3481: [icedove] rebuild against latest libffi added
#38

Updated by bill-auger about 1 month ago

  • Assignee changed from bill-auger to oaken-source
#39

Updated by bill-auger about 1 month ago

there is icedove 115.9.0 in libre-testing - can people try it and report your experience? - if it has no problems, it can be promoted to libre

# pacman -U https://repo.parabola.nu/pool/parabola/icedove-1:115.9.0-1.parabola1-x86_64.pkg.tar.zst

#40

Updated by dllud 27 days ago

Thanks a lot bill-auger! I've been trying it for the day and everything seems to work fine. I guess you can promote it to libre.

#41

Updated by dllud 27 days ago

Faced one issue: contacts were not automatically moved into the new address book format (SQLite).
Had to manually import abook.mab (personal address book) and history.mab (collected addresses) with Tools > Import.

#42

Updated by bill-auger 27 days ago

Thanks a lot bill-auger! I've been trying it for the day and everything seems to work fine. I guess you can promote it to libre.

FWIW, oaken-source completed it; but glad it works finally - i had this one on
the shelf for far too long

#43

Updated by oaken-source 26 days ago

dllud wrote:

Faced one issue: contacts were not automatically moved into the new address book format (SQLite).
Had to manually import abook.mab (personal address book) and history.mab (collected addresses) with Tools > Import.

Would you be able to write a short guide on this issue how to fix it manually? We could submit a news item with that guide along with the release of icedove to libre.

#44

Updated by dllud 25 days ago

A news item as this should suffice:

icedove 115.9.0 update may require manual intervention to recover address books

Icedove 115.9.0 brings in a new address book format based on SQLite (.sqlite), replacing the old Mork format (.mab).
Upon update, if your address books turn out empty, you may recover your contacts by manually importing abook.mab (personal address book) and history.mab (collected addresses) with Tools > Import > Import from File. Both these files are located at your Icedove profile directory (e.g. ~/.icedove/xxxxxxxx.default/history.mab).

#45

Updated by bill-auger 23 days ago

glad to see this resolved - i just deleted icecat-bin from the repos and from abslibre - i suppose icedove can be moved to libre now, and close this and the associated tickets? #2053 #2958 #3034

#46

Updated by dllud 22 days ago

Yup, seems to work fine and all those issues are either solved or non-applicable now.
#2958 no longer applies, Thunderbird now has built-in OpenPGP support. icedove-extension-enigmail is now incompatible and should be removed from libre when you move the new icedove.

I hope icedove is a bit easier to build nowadays, hopefully you can update it more often from now on.

#47

Updated by bill-auger 22 days ago

i just remembered 'icedove-extension-enigmail' - that is incompatible with the latest icedove - icedove now includes that feature by default - so 'icedove-extension-enigmail' can be deleted

also, im not sure what to do about the language packs - ordinarily those need to be rebuilt along with the client - i have not been making them for iceweasel because they are available in the GUI now - maybe icedove has the same ability and we could drop the language packs

#48

Updated by bill-auger 22 days ago

  • Related to deleted (Bug #2053: [libre/icedove]: rebuild against new icu (x86_64))
#49

Updated by bill-auger 6 days ago

deleted icedove-extension-enigmail and icedove-bin - moved icedove 115 to libre

i closed the related tickets, but leaving this one open, because the i686, armv7h, and nonprism counterparts are still the old version

Also available in: Atom PDF