Debian: php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable

By | 01/23/2020
 

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.