Cedar-14 build failing due to libmagickwand-dev unmet dependencies
edmorley opened this issue · 0 comments
The cedar-14 build on master currently fails with:
+ apt-get install -y --force-yes autoconf bind9-host bison build-essential coreutils curl daemontools dnsutils ed git imagemagick iputils-tracepath language-pack-en libbz2-dev libcurl4-openssl-dev libev-dev libevent-dev libglib2.0-dev libjpeg-dev libmagickwand-dev libmysqlclient-dev libncurses5-dev libpq-dev libpq5 librdkafka-dev libreadline6-dev libssl-dev libuv-dev libxml2-dev libxslt-dev netcat-openbsd openjdk-7-jdk openjdk-7-jre-headless openssh-client openssh-server postgresql-client-9.6 postgresql-server-dev-9.6 python python-dev ruby ruby-dev socat stunnel syslinux tar telnet zip zlib1g-dev
...
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:
libmagickwand-dev : Depends: libmagickcore-dev (= 8:6.7.7.10-6ubuntu3.7) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
(See: https://travis-ci.org/edmorley/stack-images/jobs/248906956)
The libmagickwand-dev package's dependencies should be getting installed by default, since they're listed as depends
rather than say suggests
:
https://packages.ubuntu.com/trusty-updates/libmagickwand-dev
Trying to fix this by manually adding libmagickcore-dev
to the list of packages being installed doesn't work, since it results in several more unmet dependencies, and after adding those, finally fails with:
libgraphviz-dev : Depends: libgvc6-plugins-gtk (= 2.36.0-0ubuntu3.2) but 2.36.0-0ubuntu3 is to be installed
These errors are all due to the fact that cedar-14 only lists the universe
component for the main trusty
repository and not also trusty-security
or trusty-updates
, leading to inconsistent latest package versions:
https://github.com/heroku/stack-images/blob/9443e8875b7448c2cdfb5534d6099e3f9c46ae9a/bin/cedar-14.sh#L7-L14
...since the version of libgvc6-plugins-gtk
on which libgraphviz-dev
depends is in trusty-updates/universe
rather than trusty/universe
:
# apt-cache policy libgvc6-plugins-gtk
libgvc6-plugins-gtk:
Installed: 2.36.0-0ubuntu3.2
Candidate: 2.36.0-0ubuntu3.2
Version table:
*** 2.36.0-0ubuntu3.2 0
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe amd64 Packages
100 /var/lib/dpkg/status
2.36.0-0ubuntu3.1 0
500 http://archive.ubuntu.com/ubuntu/ trusty-security/universe amd64 Packages
2.36.0-0ubuntu3 0
500 http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
Adding universe
to the other repositories fixes the issue, and also makes the APT sources list more consistent with that in both the stock Ubuntu 14.04 and the Heroku-16 image.
I'll open a PR to fix this after first adding a Travis configuration to make it easier to test.