|
From: Alessandro M. <ale...@ho...> - 2016-06-03 18:19:56
|
Following up on the C++11 issues and on my experiments:
I have investigated a variety of alternatives for building a portable
Linux TerraGear version (which can be run under BOINC). In a nutshell,
the main issue is finding an old distribution I can compile SimGear and
Terragear on, having:
- a sufficiently old version of glibc (so that the build will run on
most Linux distributions), but
- a sufficiently recent version of GCC (>= 4.8.1, the first one which
supports C++).
Now, there is no silver bullet, as a quick survey showed that there is
no distro meeting both criteria and that the ones using old glibc
versions have end of life dates that are not so near:
----------------------------------------------------------------------
GCC glibc
Arch Linux 6.1.1 2.23
Debian
stable (jessie) 4.9.2 2.19
oldstable (wheezy) 4.7.2 2.13 EOL: May 2018
Ubuntu
12.04 LTS (Precise) 4.6.3 2.15 EOL: April 2017
14.04 LTS (Trusty) 4.8.2 2.19
15.10 (Wily) 5.2.1 2.21
16.04 LTS (Xenial) 5.3.1 2.23
Linux Mint
13 (Maya) 4.6.3 2.15 EOL: April 2017
17 (Qiana) ? \ Based on Ubuntu 14.04 (so they
17.1 (Rebecca) ? } come with GCC 4.8.2 and glibc
17.2 (Rafaela) ? / 2.19, I guess)
17.3 (Rosa) 4.8.4 2.19
Fedora
22 5.3.1 2.21
23 5.3.1 2.22
24 6.1.1 2.23
Red Hat
RHEL 5 4.1.2* 2.5 EOL: March 31, 2017
RHEL 6 4.4.7* 2.12 EOL: November 30, 2020
RHEL 7 4.8.5 2.17
* GCC 4.8.2 can be installed via the Developer Toolset.
CentOS
CentOS 5 4.1.2 2.5 EOL: March 31, 2017
CentOS 6 4.4.7 2.12 EOL: November 30, 2020
CentOS 7 4.8.5 2.17
Mageia 5 4.9.2 2.20
PCLinuxOS 4.9.2 2.20
openSUSE
13.2 4.8.2 2.19
Leap 42.1 4.8.7 2.19
Slackware
13.0 4.3.3 2.9 EOL: unspecified
13.1 4.4.4 2.11.1 EOL: unspecified
13.37 4.5.2 2.13 EOL: unspecified
14.0 4.7.1 2.15 EOL: unspecified
14.1 4.8.2 2.17
BOINC builder 4.1.2 2.5 EOL: unspecified
----------------------------------------------------------------------
so the (most straightforward) solution I have resorted to, for now, is:
1) attempting to build the latest GCC on the BOINC builder VM;
2) compile SimGear, TerraGear and all required libraries with it (the
executables will probably be linked with RPATH instead of statically
to minimize the size of upgrades).
I'll report back as soon as I have some news.
Cheers,
Alessandro Menti
|