Jak můžete určit nainstalované verze glibc (aj) knihovny?

hlasů
4

Pracuji s vloženým nasazení Linuxu a jsem používat křížový kompilátor nástroj řetěz, který není kompilace I2C knihovny volání funkce.

Jak mohu určit přesné verze knihoven v systému tak, že mohu znovu vytvořit nástroj řetěz?

Nemám v úmyslu nahradit knihovny rozmístěny, jak vím, že fungují (včetně I2C), takže věřím, že je nutno zajistit následující:

  • binutils verze
  • GCC verze
  • glibc
  • Jádro (pro hlavičky)

Myslím, že lze předpokládat, z následujících možností, že knihovna binutils je verze 2.2.5. Jádro je modded pro které jsem zdroj.

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
Položena 27/04/2010 v 16:27
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
12

Pro glibc:

/lib/libc.so.6

Zní to možná divně spustit tzv souboru, ale měli vytisknout informace o verzi v tomto případě

Aby bylo možno použít verzi jádra uname

Pro binutils parsování výstupu ld --versionmožná získá to, co očekáváte, stejné pro gcc --version. To je trochu únavné, ale nevím, jinou cestu.

Odpovězeno 27/04/2010 v 16:44
zdroj uživatelem

hlasů
1

Chcete-li znát aktuální nainstalovanou verzi glibc, prosím, zkompilovat a spustit následující kód C.

#include <stdio.h>
#include <gnu/libc-version.h>
int main (void) { puts (gnu_get_libc_version ()); return 0; }

Na zdraví !!!

Odpovězeno 30/01/2015 v 09:59
zdroj uživatelem

hlasů
0

obsáhlejší odpověď lze nalézt spuštěním

find /lib -iname 'libc*.so'

Na nedávném systému to vám dá výsledky, jako je tento, které ukazují, jsem pomocí glibc 2,28 tady na ubuntu 18.10

/lib/x86_64-linux-gnu/libc-2.28.so
/lib/x86_64-linux-gnu/libcrypt-2.28.so
/lib/i386-linux-gnu/libc-2.28.so
/lib/i386-linux-gnu/libcrypt-2.28.so

Pro multiarch systém, který může mít několik kopií pro 386 a 64 režimů, myslím, že by měly být stejné.

i neměl /lib/libc.so.* na mém systému.

Odpovězeno 29/10/2018 v 10:18
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more