Forum général.général Faire coexister deux libstdc++.so.6 dans la même application?

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
18
août
2014

Bonjour,

En essayant de lancer un jeu, je me suis heurté à un soucis dont je n'arrive pas à trouver de solution. J'essaie de lancer Penumbra, le binaire est lié dynamiquement à plusieurs bibliothèques dynamiques fournies avec, dont une ancienne version de la fameuse libstdc++.so.6. Je suis sous Arch linux à jour avec xorg 1.16 et le pilote libre radeon. Ce dernier est lui aussi lié à cette fameuse bibliothèque, mais demande une version plus recente (GLIBCXX_3.4.20). Le problème c'est que le binaire ne marche qu'avec la version de la lib fournie avec le jeu (sous peine de segfault).

Alors ma question est la suivante: est il possible de dire à dlopen d'utiliser la version fournie avec le jeu pour le binaire mais de charger celle de mon système pour les pilotes? J'ai fait des tests en modifiant les RPATH du binaire et du pilote (radeonsi_dri.so) mais sans succès. J'ai bien pensé à renommer la version du jeu mais il faudrait modifier le binaire et ça non plus je ne sais pas si c'est possible.

Quelqu'un aurait il une idée?

  • # LD

    Posté par  . Évalué à 4.

    En jouant avec LD_PRELOAD tu devrais probablement t'en sortir.

    • [^] # Re: LD

      Posté par  . Évalué à 2.

      sinon plus a l'arrache avec des liens symboliques ? dans /usr/lib/ avec le nom qui va bien ?

Suivre le flux des commentaires

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