fortran-lang/stdlib

Runner failing

jalvesz opened this issue · 5 comments

Description

There is a new bug with one of the Ubuntu intel runners since a week or so:

https://github.com/fortran-lang/stdlib/actions/runs/12945506890/job/36108202926

opt/intel/oneapi/compiler/2023.1.0/linux/bin/intel64/../../compiler/include/math.h(191),
                 from /home/runner/work/stdlib/stdlib/test/hash_functions/waterhash.h(12),
                 from /home/runner/work/stdlib/stdlib/test/hash_functions/generate_hash_arrays.cpp(7):
/usr/include/x86_64-linux-gnu/bits/mathcalls.h(259): error: expected a ";"
  __MATHCALL (rint,, (_Mdouble_ __x));
  ^

compilation aborted for /home/runner/work/stdlib/stdlib/test/hash_functions/generate_hash_arrays.cpp (code 4)
ninja: build stopped: subcommand failed.

No clue what's going on as this file has not been changed.

Expected Behaviour

Should build

Version of stdlib

Main

Platform and Architecture

Ubuntu

Additional Information

No response

I suspect some incompatibility between this version of Intel and Ubuntu24.04. Using Ubuntu 20.04 solved the issue.

So what would be the best strategy:

supporting a newer version of Intel-classic
Using Ubuntu 20.04 or 22.04
?

That's a good idea, I use oneapi23 with Ubuntu 22.04 flawlessly but haven't tried with Ubuntu 24, so it must probably be an incompatibility issue.

I see that we use Intel 2024.1 for `ifx. Could we upgrade Intel classic from 2021 to 2024.1, instead of downgrading Ubuntu from 24.04 to 22.04? I have no idea what is the best solution.

I think the last ifort version is the 2021.11, if I'm not mistaken this is the last that was shipped in the last version of oneapi2024. We could indeed try that, I'm not sure though if that will solve the problem. Also, I think Ubuntu 22.04 LTS is still heavily used. I would say then, let's try updating to the last oneapi with ifort which I think we should still support for a while. If that doesn't work, let's add an Ubuntu 22 runner.

I've attempted to upgrade setup-fortran to 1.6.2 and the later versions until 2021.12, but the issue is still unresolved.

The default gcc in Ubuntu 24.04 is gcc-13. Its standard C library includes _Float32 in the headers, that is not supported by icpc.

Intel reports that the latest Ubuntu they support is 22.04:

This document: https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-c-compiler-system-requirements.html

So, I believe the only safe way to keep supporting Intel Classic is to limit its CI to Ubuntu 22.04 (for as long as it's available in the github runners)