web-dev-qa-db-fra.com

Impossible d'installer PHP7.2-dev sur Ubuntu 18 en raison de dépendances non satisfaites

J'ai une distribution Ubuntu 18, mais j'ai besoin d'installer php7.2-dev pour les extensions PECL.

mvolchkov@ias-su:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04 LTS
Release:    18.04
Codename:   bionic

J'essaie d'installer php7.2-dev:

mvolchkov@ias-su:~$ Sudo apt-get install php7.2-dev
Unresolved packages:
 php7.2-dev : Depend on: libpcre3-dev (>= 2:8.35) but will not be installed
              Depend on: libssl-dev but will not be installed
But it depends on: libpcre3-dev

Alors j'essaie d'installer libpcre3-dev, mais j'obtiens l'erreur suivante:

mvolchkov@ias-su:~$ Sudo apt-get install libpcre3-dev
 libpcre3-dev : Depend on: libpcre3 (= 2:8.39-9) но 2:8.41-4+ubuntu17.10.1+deb.sury.org+1 will be installed
E: Impossible to resolve problems, you have held packages.
2
max volchkov

Les conseils de l'utilisateur535733 dans les commentaires sont très vagues et ne sont en réalité pas possibles à 100% dans le cas présent car cela signifierait une désinstallation de libpcre3. Faire cela enlèverait une tonne de vos paquets.

La clé de ceci était dans cette question où l’utilisateur n’avait pas pu installer libpcre3-dev (qui est l’une des dépendances que vous ne parvenez pas à installer).

Je vais supposer que, puisque vous avez une version plus récente de libpcre3-dev que prévu, vous devez avoir déjà eu le tiers (ondrej) ppa.

Donc, ce que vous devez faire n'est pas de désinstaller les paquets non-Ubuntu, mais de rétrograder les dépendances php7.2-dev.

Dans mon cas, ce qui suit a résolu le problème après la suppression du PPA tiers:

Sudo apt install libpcre3=2:8.39-9 libpcre3-dev=2:8.39-9
Sudo apt install libssl1.1=1.1.0g-2ubuntu4.1 libssl-dev=1.1.0g-2ubuntu4.1 

Pourquoi cela doit-il arriver?

Vous aviez probablement PHP 7.2.7 du référentiel ondrej mais disposez maintenant du 7.2.5 du référentiel officiel. Cependant, libpcre3 et libssl sont probablement toujours dans les versions ultérieures de l'autre dépôt.

Ces commandes devraient donc résoudre le problème pour vous et vous devriez pouvoir installer avec succès php7.2-dev.

6
Andrew Webs