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:~$