views:

39

answers:

1

I'm working with an embedded Linux deployment and am using a cross compiler tool chain that doesn't compile I2C library function calls.

How do I determine the precise versions of the libraries on the system so that I may rebuild the tool chain?

I don't intend to replace the libraries deployed, as I do know they work (including I2C), so I believe I need the following:

  • Binutils version
  • GCC version
  • GLIBC
  • Kernel (for the headers)

I think I can assume from the following that the binutils library is version 2.2.5. The kernel is modded for which I've the 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
+2  A: 

For glibc:

/lib/libc.so.6

Sounds maybe strange to run a so file but should print out version information in this case

For the kernel version use uname

For the binutils parsing the output of ld --versionmight yield what you expect, the same for gcc --version. This is a bit tedious but I do not know another way.

jdehaan
I had no idea. That's excellent, Thanks.
Jamie
Since I know the kernel's version I didn't try `uname`, on my system it didn't work. Instead `version` gives me love.
Jamie