Cannot install libsdl2-dev in fresh ubuntu:14.04 Docker container
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-images |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
In an otherwise unmodified Docker container based on the ubuntu:14.04 image, libsdl2-dev refused to install. Example output:
---
$ sudo docker run -it --rm ubuntu:14.04
root@06938ac08d
Ign http://
Get:1 http://
Get:2 http://
Get:3 http://
Get:4 http://
Get:5 http://
Get:6 http://
Get:7 http://
Get:8 http://
Get:9 http://
Get:10 http://
Get:11 http://
Get:12 http://
Get:13 http://
Get:14 http://
Get:15 http://
Get:16 http://
Get:17 http://
Get:18 http://
Get:19 http://
Get:20 http://
Get:21 http://
Get:22 http://
Get:23 http://
Get:24 http://
Fetched 21.0 MB in 26s (802 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libsdl2-dev : Depends: libsdl2-2.0-0 (= 2.0.2+dfsg1-
E: Unable to correct problems, you have held broken packages.
---
I'm not sure what the actually issue is here; all three of those packages can be installed successfully, or "apt-get install libgles2-mesa-dev libsdl2-2.0-0 libglu1-mesa-dev" can be used to install them all at once, after which libsdl2-dev will install successfully.
Still, manually installing dependencies one at a time is not really ideal; I have a continuous integration job that is attempting to automatically build a Docker container with all of its dependencies, and it would take a decent amount of hacking to make it manually install certain dependencies first before installing its target's actual dependencies, plus that is fragile and could potentially break if libsdl2-dev's dependencies ever change.
I can reproduce this both in a lxd container and in an instance on GCE, image-specific.
so I don't think this is Docker-
Using `aptitude` to install instead gives a bit more information about
the reason apt-get won't install the packages:
The following packages have unmet dependencies: mesa-dri- lts-utopic : Conflicts: libgl1-mesa-dri but 10.1.3-0ubuntu0.6 is to be installed. mesa-lts- utopic : Conflicts: libglapi-mesa but 10.1.3-0ubuntu0.6 is to be installed.
libgl1-
libglapi-
The following actions will resolve these dependencies:
Keep the following packages at their current version: mesa-drivers- lts-utopic [Not Installed] mesa-lts- utopic [Not Installed] mesa-dri- lts-utopic [Not Installed] egl1-mesa- lts-utopic [Not Installed]
1) libegl1-mesa-dev [Not Installed]
2) libegl1-
3) libegl1-
4) libgbm1-lts-utopic [Not Installed]
5) libgl1-mesa-dev [Not Installed]
6) libgl1-
7) libgl1-mesa-glx [Not Installed]
8) libglapi-mesa [Not Installed]
9) libgles2-mesa [Not Installed]
10) libgles2-mesa-dev [Not Installed]
11) libglu1-mesa [Not Installed]
12) libglu1-mesa-dev [Not Installed]
13) libsdl2-2.0-0 [Not Installed]
14) libsdl2-dev [Not Installed]
15) libwayland-
Leave the following dependencies unresolved: egl1-mesa- lts-utopic recommends libegl1- mesa-drivers- lts-utopic
16) libwayland-