GCC Upgrade (Gen3)

Prev Next

On the FMADIO Generation 3 systems, the GCC version is quite old, we have kept this for stability as the systems have been using this version for a long time without issues.

This can cause problems when compiling software requiring support for newer C and C++ specifications.

Generation4 systems have GCC12 as the default compiler

We support GCC10 on the Generation3 systems, requires some custom updates

Step 1) Download the package

Download the GCC10 package from

https://firmware.fmad.io/download/firmware/gcc10.tcz

MD5 hash is: 59bcce1e56bd3f7cfe598ccb989bf547

Step 2) Move the file to the package directory

sudo cp gcc10.tcz  /mnt/system/tce/optional/

Step 3) Update the package loader

Edit the file

/mnt/system/tce/onboot.lst

Add gcc10.tcz to the list of packages to load on boot

Step 4) Reboot the system

sudo reboot

Step 5) Check install

On reboot GCC10 is installed under gcc-10.2 and g++-10.2

To confirm

gcc-10.2 -v

Example output

fmadio@fmadio100v2-228U:~$ gcc-10.2 -v
Using built-in specs.
COLLECT_GCC=gcc-10.2
COLLECT_LTO_WRAPPER=/tmp/tcloop/gcc10/usr/local/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /mnt/store0/tools/gcc/objdir/../configure --prefix=/usr/local/ --program-suffix=-10.2 --enable-languages=c,c++ --disable-multilib --disable-docs
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC)
fmadio@fmadio100v2-228U:~$

Similarly for G++

g++-10.2 -v

Example output

fmadio@fmadio100v2-228U:~$ g++-10.2 -v
Using built-in specs.
COLLECT_GCC=g++-10.2
COLLECT_LTO_WRAPPER=/tmp/tcloop/gcc10/usr/local/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /mnt/store0/tools/gcc/objdir/../configure --prefix=/usr/local/ --program-suffix=-10.2 --enable-languages=c,c++ --disable-multilib --disable-docs
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC)
fmadio@fmadio100v2-228U:~$