Bug 2105116 - Boxes does not run as it is linked against both libsoup2 and libsoup3 (because of phodav / spice-gtk)
Summary: Boxes does not run as it is linked against both libsoup2 and libsoup3 (becaus...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-boxes
Version: rawhide
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Kalev Lember
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: openqa
: 2105650 2106670 2107099 (view as bug list)
Depends On:
Blocks: F37FinalBlocker 2105119
TreeView+ depends on / blocked
 
Reported: 2022-07-08 00:57 UTC by Adam Williamson
Modified: 2022-07-31 15:16 UTC (History)
17 users (show)

Fixed In Version: gnome-boxes-43~alpha-1.fc37
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-07-19 23:31:50 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Adam Williamson 2022-07-08 00:57:03 UTC
phodav and spice-gtk were recently rebuilt against libsoup3:

https://koji.fedoraproject.org/koji/buildinfo?buildID=1996488 (phodav)
https://koji.fedoraproject.org/koji/buildinfo?buildID=1996544 (spice-gtk)

Unfortunately this broke Boxes, because it's now linked against both libsoup2 and libsoup3. Boxes itself, and some of its other deps like libosinfo, are built against libsoup2; spice-gtk and phodav - which it also depends on and builds against - are linked against libsoup2.

To fix this we either need to build spice-gtk and phodav against libsoup2 again (if the new versions still can be built against 2), or update all the other deps, including libosinfo and I think webkitgtk, to build against libsoup3.

CCing mcatanzaro who seems to have irons in this fire, and Marc-André who bumped spice-gtk and phodav.

Proposing as a Final blocker as a violation of the 'default application functionality' rules (Boxes is completely broken).

Comment 1 Adam Williamson 2022-07-08 00:58:24 UTC
sigh, description should read "Boxes itself, and some of its other deps like libosinfo, are built against libsoup2; spice-gtk and phodav - which it also depends on and builds against - are linked against libsoup3." , sorry.

Comment 2 Michael Catanzaro 2022-07-08 01:12:50 UTC
Fortunately libosinfo and Boxes are both ready for libsoup 3, but should wait for FESCo approval of the change proposal before actually switching them over. It's not the end of the world for Boxes to be broken temporarily in rawhide until the change proposal is either approved or rejected. Once FESCo has decided one way or the other, then we'll know which way to go to fix it.

(Boxes is lucky. We have some apps that will not be possible to fix so easily....)

Comment 3 Michael Catanzaro 2022-07-08 01:13:59 UTC
Adding David to CC just as an fyi, both for Boxes and because this will affect a large number of other packages from the forthcoming GNOME 43.alpha.

Comment 4 Marc-Andre Lureau 2022-07-08 11:10:42 UTC
This needs libosinfo build update: https://src.fedoraproject.org/rpms/libosinfo/pull-request/3

And webkit2gtk3, what's the status there?

Comment 5 Marc-Andre Lureau 2022-07-08 11:43:10 UTC
Pff the can of worms.. 

@mcatanza, wouldn't it be possible to run soup2 & soup3 in the same process if the library was using a version scripts (on systems that support it) ? We would then mass-rebuild all packages that BR on libsoup2/3 and be good for an easier transition time I guess.

Comment 6 Michael Catanzaro 2022-07-08 13:21:45 UTC
(In reply to Marc-Andre Lureau from comment #4)
> And webkit2gtk3, what's the status there?

It's ready upstream and other distros have deployed it successfully, but it's stalled in Fedora because I haven't decided what to name the package yet. I will endeavor to select a name before FESCo approves the libsoup 3 change proposal so that we don't lose time.

(In reply to Marc-Andre Lureau from comment #5)
> @mcatanza, wouldn't it be possible to run soup2 & soup3 in the same process
> if the library was using a version scripts (on systems that support it) ?

Nope, it will still crash and burn due to GObject name conflicts. We'd need to rename all the objects from SoupFoo to Soup3Foo to avoid this. (And if we do that, might as well rename the functions too, and then we no longer need symbol versioning anymore.)

FWIW upstream has admitted that not changing the namespace was a mistake, but releasing a libsoup 4 to correct this does not seem very desirable either.

Comment 7 Felipe Borges 2022-07-14 13:03:54 UTC
*** Bug 2107099 has been marked as a duplicate of this bug. ***

Comment 8 Adam Williamson 2022-07-14 23:33:29 UTC
This also affects virt-manager, so there's no great way to graphically use VMs in Rawhide right now. I downgraded libphodav and spice-gtk3 / spice-glib to get around it.

Comment 9 Phil Wyett 2022-07-15 03:46:06 UTC
This also affects remmina in rawhide.

Comment 10 Felipe Borges 2022-07-15 08:36:23 UTC
*** Bug 2105650 has been marked as a duplicate of this bug. ***

Comment 11 Phil Wyett 2022-07-15 08:53:27 UTC
*** Bug 2106670 has been marked as a duplicate of this bug. ***

Comment 12 Michael Catanzaro 2022-07-18 21:41:06 UTC
We got approval from FESCo to implement the libsoup 3 change on Friday last week. Today I started working on packaging WebKitGTK. Kalev is aiming to fix this tomorrow, before the mass rebuild, but the exact timing remains uncertain.

Comment 13 Kalev Lember 2022-07-19 22:13:09 UTC
Should be fixed in gnome-boxes-43~alpha-1.fc37 that's part of GNOME 43.alpha megaupdate, https://bodhi.fedoraproject.org/updates/FEDORA-2022-1b0af1bd87

Comment 14 Fedora Update System 2022-07-19 23:31:50 UTC
FEDORA-2022-1b0af1bd87 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.