When testing the installation of GCCcore-9.3.0.eb in the 2021.12 compat layer (cfr. EESSI/compatibility-layer#126), I'm hitting two problems:
- The compilation of GCC itself fails due to too recent Linux kernel headers:
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:160:10: fatal error: linux/cyclades.h: No such file or directory
160 | #include <linux/cyclades.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
This can be fixed fairly easily by using the patch available in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379, which is done in easybuilders/easybuild-easyconfigs#14453.
- Another more serious problem emerges later in the build, when GMP is being built. The
configure script fails with:
configure: error: could not find a working compiler, see config.log for details
config.log reveals the problem:
/cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/aarch64/usr/bin/ld.gold: /tmp/ec2-user/easybuild/build/GCCcore/9.3.0/system-system/GCC_stage1_eb/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/aarch64/usr/bin/ld.gold)
collect2: error: ld returned 1 exit status
This is basically due to building an old compiler (GCC 9.3) on a system with a very recent GCC (11.2 in compat layer).
To fix this, we should i) install an older version of GCC in the compat layer (by including it to the EESSI 2021.12 sets), and ii) make that the default system compiler instead of using the latest version (via gcc-config, see also EESSI/compatibility-layer#128).
When testing the installation of
GCCcore-9.3.0.ebin the2021.12compat layer (cfr. EESSI/compatibility-layer#126), I'm hitting two problems:This can be fixed fairly easily by using the patch available in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379, which is done in easybuilders/easybuild-easyconfigs#14453.
configurescript fails with:config.logreveals the problem:This is basically due to building an old compiler (GCC 9.3) on a system with a very recent GCC (11.2 in compat layer).
To fix this, we should i) install an older version of GCC in the compat layer (by including it to the EESSI 2021.12 sets), and ii) make that the default system compiler instead of using the
latestversion (viagcc-config, see also EESSI/compatibility-layer#128).