[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Linker un programme avec libstdc++-libc6



Je développe une application en C++ pour Linux. La machine sur
laquelle je compile est un système RedHat 6.2 (i386). J'ai
compilé et installé g++ 2.95.2 moi-même (sous /usr/local).

Mon programme est lié dynamiquement avec la librairie standard
du C++, qui est dans /usr/local/lib/libstdc++-libc6.1-2.so.3.

Quand j'installe et que j'exécute ce programme sur un autre
système RedHat 6.2, j'obtiens le message d'erreur suivant:

    prog: error in loading shared libraries:
    libstdc++-libc6.1-2.so.3: cannot open shared object file:
    No such file or directory

Sur cette machine de test, la commande 'locate libstdc++'
retourne ceci:

    /usr/i486-linux-libc5/lib/libstdc++.so.27.1.4
    /usr/i486-linux-libc5/lib/libstdc++.so.27
    /usr/lib/libstdc++-libc6.1-1.so.2
    /usr/lib/libstdc++.so.2.7.2.8
    /usr/lib/libstdc++.so.2.7.2
    /usr/lib/libstdc++.so.2.8.0
    /usr/lib/libstdc++.so.2.8
    /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    /usr/lib/libstdc++.so.2.9.dummy
    /usr/lib/libstdc++.so.2.9
    /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/libstdc++.a
    /usr/local/lib/libstdc++.a.2.10.0

Il semble que /usr/lib/libstdc++-libc6.1-1.so.2 devrait
satisfaire mon programme.

Comment puis-je linker mon programmer de façon qu'il tolère de
petites variations dans les numéros de version des librairies
libstdc++ et/ou libstdc++-libc6 présentes dans une installation
Linux quelconque?

-- 
Pierre Sarrazin <[email protected]>