Compare commits

...

2 Commits

Author SHA1 Message Date
1c56367446 Use gcc 13 for intel compiler 2023
Intel compiler for C++ (icpc) is not able to parse the location of C++
headers from the output of gcc 14, but works fine for gcc 13.
2025-07-21 16:27:23 +02:00
d205c64f05 Fix PATH in intel compiler wrapper
We need to add the gcc in the PATH, but adding it directly to $PATH
doesn't work, as it will be restored to $path_backup before icc runs. So
for now we simply inject it to path_backup, but ideally we should find a
more robust solution.
2025-07-21 16:23:53 +02:00

View File

@@ -12,7 +12,7 @@
, autoPatchelfHook
, symlinkJoin
, libfabric
, gcc
, gcc13
, gcc7
, wrapCCWith
, linuxHeaders
@@ -400,7 +400,9 @@ let
echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
# Need the gcc in the path
echo 'export "PATH=${mygcc}/bin:$PATH"' >> $out/nix-support/cc-wrapper-hook
# FIXME: We should find a better way to modify the PATH instead of using
# this ugly hack. See https://jungle.bsc.es/git/rarias/bscpkgs/issues/9
echo 'path_backup="${mygcc}/bin:$path_backup"' >> $out/nix-support/cc-wrapper-hook
# Disable hardening by default
echo "" > $out/nix-support/add-hardening.sh
@@ -411,7 +413,7 @@ let
icx-wrapper = wrapIntel rec {
cc = intel-compiler;
mygcc = gcc;
mygcc = gcc13;
extraBuild = ''
wrap icx $wrapper $ccPath/icx
wrap icpx $wrapper $ccPath/icpx
@@ -430,7 +432,7 @@ let
# Intel icc classic compiler tries to behave like the gcc found in $PATH.
# EVEN if it doesn't support some of the features. See:
# https://community.intel.com/t5/Intel-C-Compiler/builtin-shuffle-GCC-compatibility-and-has-builtin/td-p/1143619
mygcc = gcc;
mygcc = gcc13;
extraBuild = ''
wrap icc $wrapper $ccPath/icc
wrap icpc $wrapper $ccPath/icpc
@@ -444,7 +446,7 @@ let
ifort-wrapper = wrapIntel rec {
cc = intel-compiler-fortran;
mygcc = gcc;
mygcc = gcc13;
extraBuild = ''
wrap ifort $wrapper $ccPath/ifort
'';