Determining Versions of the Software

If you want to avoid compatibility problems, it's important to build cross-compiler targeted for particular version of GNU/Linux distribution for Raspberry Pi.

Unlike Windows, version numbers of specific distribution of Linux (for example, Debian Wheezy (Debian 7) or Raspbian Wheezy are unimportant in the context of cross-compilation).

What's important then? You should note the combination of "gcc version" + "binutils version" + "eglibc version" + "kernel version".

1) Version of gcc (GNU compiler collection)
To determine it, boot Raspberry Pi and run the following command in the console:
$ gcc --version

Also running "gcc -v" may be helpful, it shows options that were passed for "configure" script when gcc was built for the target system.

2) Version and target architecture of binutils (GNU linker, assembler etc)
To determine it:
$ ld --version
$ as --version

Target architecture is also important to note.

3) Version of eglibc
To determine it:
$ ldd --version

4) Kernel version
To determine it:
$ uname -r

For Raspbian Wheezy (version 2012-08-16) version numbers are: gcc 4.6.3, eglibc 2.13, binutils 2.22 and kernel 3.2.21; architecture is arm-linux-gnueabihf. Debian Wheezy (version 2012-08-08) numbers are the same, and architecture is arm-linux-gnueabi.


>> Read next section or buy already prepared cross-compiler ($10) to save your time.