Mir

libmirclient.so.8 ABI broken but not incremented in Mir 0.6.0

Bug #1352149 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Invalid
Undecided
Unassigned
0.6
Invalid
Undecided
Unassigned

Bug Description

The libmirclient.so.8 ABI was broken in Mir 0.6.0, kind of indirectly.

mirclient.pc links to:
<=0.5 Libs: -L@LIBDIR@ -lmirclient -lmirprotobuf -lprotobuf
>=0.6 Libs: -L@LIBDIR@ -lmirclient

This means any existing users of libmirclient.so.8 (like /usr/lib/x86_64-linux-gnu/libgdk-3.so.0) also link to libmirprotobuf.so.0. However that file does not exist any more in Mir 0.6.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The old protobuf package might linger and resolve the unused dependency safely. I'll test it...

Changed in mir:
milestone: none → 0.7.0
description: updated
Changed in mir:
status: New → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Verified, the gtk-3 in utopic proposed still works without a rebuild after upgrading to libmirclient8 v0.6.0

There are issues with our -dev package dependencies but this bug seems to be benign while the old libmirprotobuf0 package stays installed.

Changed in mir:
milestone: 0.7.0 → none
importance: High → Undecided
status: Incomplete → Won't Fix
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh, even better. Since no symbols were used from libmirprotobuf.so.0, it was actually optimized out by the linker. Once you upgrade to libmirclient.so.8 0.6+ you won't have any indirect linkage to the deprecated library from gdk. And GTK apps continue to work with the existing gtk+3.0 packages.

Changed in mir:
status: Won't Fix → Invalid
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

All is OK. Our deps are actually trivial, as they should be:

$ objdump -p /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 | grep libmir
  NEEDED libmirclient.so.8

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.