Я работаю со встроенным развертыванием Linux и использую набор инструментальных средств кросс-компилятора, который не компилирует вызовы библиотечной функции I2C.
Как я определяю точные версии библиотек по системе так, чтобы я мог восстановить набор инструментальных средств?
Я не намереваюсь заменить развернутые библиотеки, поскольку я действительно знаю, что они работают (включая I2C), таким образом, я полагаю, что мне нужно следующее:
Я думаю, что могу предположить от следующего, что binutils библиотека является версией 2.2.5. Ядро кивается, для которого у меня есть источник.
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
Для glibc:
/lib/libc.so.6
Может показаться странным запускать файл so, но в этом случае следует распечатать информацию о версии
Для версии ядра используйте uname
Для binutils, анализирующего вывод ld --version
, может дать то, что вы ожидаете, то же самое для gcc --version
. Это немного утомительно, но я не знаю другого способа.