libmirclient causes multiarch SDL2 headers to conflict with each other

Bug #1808060 reported by Mathieu Comandon
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
mir (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

libmirclient-dev makes impossible to install both libsdl2-dev and libsdl2-dev:i386 which is essential for anyone building game related software. Seeing mir not being used at all in any of the official Ubuntu flavors, I find it strange that it was considered an acceptable solution to break a common and important workflow in favor of an experimental display server.

It's probably a minor packaging bug anyway, multi-arch development headers usually don't conflict with each other.

ProblemType: Bug
DistroRelease: Ubuntu 18.10
Package: libmirclient-dev 0.32.1-0ubuntu1
ProcVersionSignature: Ubuntu 4.18.0-11.12-generic 4.18.12
Uname: Linux 4.18.0-11-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.10-0ubuntu13.1
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Tue Dec 11 14:25:50 2018
SourcePackage: mir
UpgradeStatus: Upgraded to cosmic on 2018-11-02 (39 days ago)

Revision history for this message
Mathieu Comandon (strycore) wrote :
description: updated
Revision history for this message
Michał Sawicz (saviq) wrote :

As you can see in https://packages.ubuntu.com/disco/libmirclient-dev they are actually not co-installable so it's not as minor a problem as you state, but it's certainly fixable.

Changed in mir (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Mathieu Comandon (strycore) wrote :

That's good to hear and would be very useful! :D

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Isn't the most sensible way to fix this to change the libsdl2-dev packaging to depend on libmirclient9 directly?

I can't think of any sane reason to expose the Mir headers to SDL2 users.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

On reflection, there are several factors contributing to the problem. Addressing any one of them would resolve the problem reported.

1. none of the Mir -dev packages are co-installable
2. libsdl2-dev should not depend on libmirclient-dev
3. SDL2 is being built with mirclient support on 18.10

1 & 2 have been the case since well before 16.04 and this issue has gone undetected. If there's a reason for /2/, it's a bad one. Regardless, we ought to address /1/.

3 is pointless and likely an oversight. I'm under the impression that SDL2 dropped mirclient support upstream, but I guess that hasn't filtered through yet. In any case mirclient lost GL support in 18.04 and will not support Nvidia eglstream drivers.

Revision history for this message
q4a (q4a) wrote :

My steps to dirty fix:
find libmirclient-dev_*_i386.deb in /var/cache/apt/archives
I have libmirclient-dev_1.4.0-0ubuntu3_i386.deb. If you don't have - find one in launchpad.
Then:
$ mkdir tmp
$ dpkg-deb -R libmirclient-dev_1.4.0-0ubuntu3_i386.deb tmp
// remove tmp/usr/include and tmp/usr/share (that files alredy installed by libmirclient-dev:amd64)
// remove this lines from tmp/DEBIAN/control
Breaks: libmirclientcpp-dev
Replaces: libmirclientcpp-dev
Provides: libmirclientcpp-dev (= 1.5)
// Then back to terminal:
$ dpkg-deb -b tmp libmirclient-dev_1.4.0-0ubuntu3_FIX_i386.deb
$ sudo dpkg -i libmirclient-dev_1.4.0-0ubuntu3_FIX_i386.deb

Revision history for this message
petr timr (djtlumic) wrote :

worsk great. thanks. anyway, this should be fixed automaticaly :/

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.