We have a Jenkins job that runs a Docker container to build a PHP-application based on the Yii framework.
Suddenly during the build, we got an error:
…
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:
php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
The command ‘/bin/sh -c apt -y update && apt -y install php7.3 curl php7.3-amqp
…
Check a Dockerfile
used to create an image used by Jenkins for this build:
FROM debian RUN apt update && apt -y install ca-certificates apt-transport-https wget gnupg git RUN wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - RUN echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list RUN apt -y update && apt -y install php7.3 curl php7.3-amqp
Pay attention on the initial image:
FROM debian
And the following string:
RUN echo “deb https://packages.sury.org/php/ stretch main”
This Dockerfile
is a bit outdated, used by the project last year and uses the “latest” Debian image which holds… Well – the latest Debian version available.
Let’s check it:
[simterm]
root@jenkins-production:/home/admin# docker run -ti debian cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 10 (buster)" NAME="Debian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)"
[/simterm]
It’s buster, while we are adding the “packages.sury.org/php/ stretch main” repository’s string.
Update the Dockerfile
from the stretch to the buster, rebuild it:
[simterm]
root@jenkins-production:/home/admin# docker build -t projectname/projectname-backend-builder:1.5 . ... Step 9/9 : COPY auth.json /root/.composer/auth.json ---> c032b53c381b Successfully built c032b53c381b Successfully tagged projectname/projectname-backend-builder:1.5
[/simterm]
Done.