Puis-je modifier 'rpath' dans un binaire compilé?

J'ai un vieux fichier exécutable qui est prévue pour le tas de ferraille, mais il n'y est pas encore. Il s'appuie sur certaines libs qui ont été supprimés de mon environnement, mais j'ai quelques stub libs dans un endroit où il fonctionne très bien. Id tiens à souligner cet exécutable à ces stub libs. Oui, je pourrais le mettre LD_LIBRARY_PATH, mais cet exécutable est appelée à partir de nombreux scripts, et de nombreux utilisateurs, et j'aimerais la réparer en un seul endroit.

Je n'ai pas de source pour ce faire, et il serait difficile de l'obtenir. Je pensais - puis-je modifier ce fichier, à l'aide d'un ELFE de la conscience de l'éditeur, et ajouter un CHEMIN simple pour rpath de l'avoir frappé la nouvelle libs? Est-ce possible, ou une fois que vous créez un binaire ELF, vous arranger les choses et les lieux et ils ne peuvent pas être déplacés?

  • L'envelopper dans un shell script qui définit LD_LIBRARY_PATH et appelle le binaire. Mettre le script shell dans un endroit qui est dans les appelants du CHEMIN.
  • LD_LIBRARY_PATH est héritée par les processus enfants. Vous ne pourriez pas vouloir cela.
  • ouais et je l'ai déjà dit je ne veux pas le faire. 🙂
InformationsquelleAutor Rich Homolka | 2012-12-07