Forum Linux.debian/ubuntu Faire cohabiter deux versions de librairie (libcurl) [Résolu]

Posté par  . Licence CC By‑SA.
Étiquettes :
0
18
sept.
2019

Bonjour à tous,

J'utilise Linux Mint 19.2 (base Ubuntu 18.04)

J'ai installé un logiciel métier qui dépend de lbcurl3. Cette librairie se trouve dans les paquets de la distribution, donc pas de soucis.

Mais si je veux installer curl, celui-ci dépend désormais de libcurl4. Les deux versions, 3 et 4, sont dans les dépôts, mais on ne peut apparemment pas les installer en même temps. Si j'installe curl, le gestionnaire désinstalle le logiciel métier, et réciproquement.
Même souci avec R, cmake et plein d'autres, qui dépendent aussi de libcurl4.
Le pire, c'est que je ne vois pas à quoi peut servir cette librairie à mon logiciel, qui n'est pas censé télécharger des trucs…

Existe t'il donc une astuce pour faire cohabiter les deux librairies ?

  • # Demander au logiciel métier d'aller voir ailleurs ?

    Posté par  . Évalué à 2. Dernière modification le 18 septembre 2019 à 07:45.

    Salut,

    Est-ce que ton logiciel métier est capable d'aller voir s'il ne trouve pas la libcurl3 dans /usr/local/ ?

    Peut-être simplement en lui changeant une variable d'environnement, comme LD_LIBRARY_PATH ?

    Si oui, dans ce cas, installer la libcurl3 par exemple en partant des sources dans /usr/local, et utiliser pour tout le reste la libcurl4 telle que fournie par la distribution.

    Si le logiciel est propriétaire, c'est probablement une question à poser à l'éditeur. S'il est capable de faire ça, il suffirait d'écrire un petit wrapper en shell permettant de positionner la/les variables d'environnement, "et voilà".

    Matricule 23415

    • [^] # Re: Demander au logiciel métier d'aller voir ailleurs ?

      Posté par  . Évalué à 1.

      Merci pour la réponse !

      J'ai voulu tenter ça, mais comme le logiciel s'installe avec un *.deb, apt va désinstaller tout autre programme dépendant de libcurl4. Ta solution aurait pu marcher avec un binaire indépendant par contre.

      Avant de poser la question, j'avais fait une recherche avec les mots clés cohabiter / librairies sans succès, alors qu'il suffisait de faire une recherche avec libcurl3 / libcurl4, pour s'apercevoir qu'un tas de gens ont le même problème :D

      Et donc il y a un gars surnommé xapienz qui a repackagé les deux librairies en une seule, ce qui supprime les questions de dépendance.

      Voilà la procédure à utiliser sur Ubuntu et dérivés :

      sudo -i
      add-apt-repository ppa:xapienz/curl34
      apt update
      apt install libcurl4

      Et après on peut installer tout ce qui dépend de libcurl4…

      • [^] # Re: Demander au logiciel métier d'aller voir ailleurs ?

        Posté par  (site web personnel) . Évalué à 2.

        C'est mégachelou… (mais c'est exact).

        Si les paquets s'appellent libcurl3 et libcurl4, c'est justement pour qu'il soit possible pour certains paquets de dépendre d'une version, et pour d'autres, de l'autre… Mais visiblement, la transition compliquée du côté d'OpenSSL (1.0 vs. 1.1) a été accompagnée de joyeusetés, ce qui explique ton problème pour ce cas particulier de bibliothèques (dans le cas général, on ne colle pas de Conflicts, Replaces, ou Breaks entre les différentes « versions »)… :/

        Debian Consultant @ DEBAMAX

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.