[Linux] elf, executable and linking format

Stephane Casset sept@::1
Mar 13 Mar 13:05:03 CET 2007


Le Mon, Mar 12, 2007 at 08:34:45PM +0100, René Bastian ecrivait :
> Bonjour,

Salut,

> certaines applications sont expulsées des distribs indépendamment
> de leur qualité (1) (c'est le cas de sox - un convertisseur
> de format - et qui n'a pas été remplacé);

Ha ? 
 apt-cache search sox
donne
 sox - Swiss army knife of sound processing
 sox-dev - Development files for the SoX library

Change de distib peut-être :D 

> j'ai essayé tout simplement de copier le fichier exécutable de l'ancien
> disque dur dans le nouveau /usr/bin ... et ça marche (bien que les
> noyaux ont été recrachés autrement ?)

Ça fonctionne du moment que les bibliothèques avec lesquelles le
programme a été compilées sont présentes sur ton nouveau système et si
celles-ci sont compatibles avec...

> est-ce normal ?
> 
> y a-t-il un outil pour voir quels binaires sont exploitables
> d'une distrib/version/noyau à l'autre ?

ldd t'affiche la liste des bibliothèques attendues par le programme et
si il les a trouvé ou pas.

Par exemple :
# ldd /bin/ls
        linux-gate.so.1 =>  (0xffffe000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7ee0000)
        libacl.so.1 => /lib/libacl.so.1 (0xb7eda000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7ec4000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d93000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0
(0xb7d81000)
        /lib/ld-linux.so.2 (0xb7efd000)
        libattr.so.1 => /lib/libattr.so.1 (0xb7d7d000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7d79000)
        libsepol.so.1 => /lib/libsepol.so.1 (0xb7d38000)


A+
-- 
Stéphane Casset            LOGIDÉE sàrl       Se faire plaisir d'apprendre
1a, rue Pasteur        Tel : +33 388 23 69 77           casset@::1
F-67540 OSTWALD        Fax : +33 388 23 69 77           http://logidee.com


Plus d'informations sur la liste de diffusion linux