Comment pouvez-vous déterminer installé les versions de la glibc (etc.) les bibliothèques?
Je travaille avec un Linux embarqué déploiement et suis à l'aide d'un compilateur croisé outil de la chaîne qui ne compile pas I2C bibliothèque des appels de fonction.
Comment puis-je déterminer avec précision les versions des bibliothèques sur le système afin que je puisse reconstituer l'outil de la chaîne d'approvisionnement?
Je n'ai pas l'intention de remplacer les bibliothèques déployées, comme je sais qu'ils travaillent (y compris I2C), donc je crois que j'ai besoin de ce qui suit:
- Binutils version
- Version de GCC
- GLIBC
- Noyau (pour les en-têtes)
Je pense que je ne peux présumer de la suite que les binutils bibliothèque est la version 2.2.5. Le noyau est le dernier pour lequel j'ai la source.
root@dev-box />ls /lib/ -al
drwxrwxrwx 3 root root 1024 Apr 27 09:44 .
drwxrwxrwx 14 root root 1024 Jan 1 1970 ..
-rwxrwxrwx 1 root root 105379 Jan 1 1970 ld-2.2.5.so
lrwxrwxrwx 1 root root 16 Jan 1 1970 ld-linux.so.2 -> /lib/ld-2.2.5.so
lrwxrwxrwx 1 root root 16 Jan 1 1970 ld.so.1 -> /lib/ld-2.2.5.so
-rwxrwxrwx 1 root root 1288601 Jan 1 1970 libc.so.6
-rwxrwxrwx 1 root root 25441 Jan 1 1970 libcrypt.so.1
-rwxrwxrwx 1 root root 14303 Jan 1 1970 libdl.so.2
-rwxrwxrwx 1 root root 36800 Jan 1 1970 libgcc_s.so.1
-rwxrwxrwx 1 root root 530401 Jan 1 1970 libm.so.6
-rwxrwxrwx 1 root root 86626 Jan 1 1970 libnsl.so.1
-rwxrwxrwx 1 root root 17533 Jan 1 1970 libnss_dns.so.2
-rwxrwxrwx 1 root root 46324 Jan 1 1970 libnss_files.so.2
-rwxrwxrwx 1 root root 98633 Jan 1 1970 libpthread.so.0
-rwxrwxrwx 1 root root 69966 Jan 1 1970 libresolv.so.2
-rwxrwxrwx 1 root root 12897 Jan 1 1970 libutil.so.1
OriginalL'auteur Jamie | 2010-04-27
Vous devez vous connecter pour publier un commentaire.
Pour la glibc:
/lib/libc.so.6
Sons peut-être étrange, pour exécuter un fichier, mais doit imprimer les informations de version dans ce cas
Pour la version du noyau utilisation
uname
Pour les binutils l'analyse de la sortie de
ld --version
pourrait donner ce que vous attendez, le même pourgcc --version
. C'est un peu fastidieux, mais je ne sais pas d'une autre manière.Depuis que je sais que le noyau de la version que je n'ai pas essayer
uname
, sur mon système, il n'a pas de travail. Au lieu de celaversion
donne-moi de l'amour.Comment une bibliothèque peut aussi être un exécutable?
c'est pas à jour car de nouvelles multiarch mises en page.
Pas de date sur mon Ubuntu 18.04 de l'installation, bien que la bibliothèque a augmenté d'un peu de version dans les 8 dernières années.
OriginalL'auteur jdehaan
À savoir la version actuellement installée de la glibc, veuillez compiler et exécuter le code C.
Cheers !!!
OriginalL'auteur Monir
une plus complète, la réponse peut être trouvée en exécutant
Sur un système récent cela va vous donner de tels résultats, qui montrent que je suis en utilisant la glibc 2.28 ici sur ubuntu 18.10
Pour multiarch système, vous pouvez disposer de plusieurs copies pour les 386 et 64 modes , je pense que ce doit être le même .
je n'ai pas de /lib/libc..* sur mon système.
OriginalL'auteur Amias