UE5 fails to build on Arch Linux, ISPC errors

I am trying to build current version of UE (5.5.4) on up to date Arch.

I keep getting many these:

Compile Module.Chaos.10.cpp
In file included from /home/goose/UnrealEngine/Engine/Intermediate/Build/Linux/x64/UnrealEdit
or/Development/Chaos/Module.Chaos.10.cpp:4:
/home/goose/UnrealEngine/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/Joint/PBDJoin
tSolverGaussSeidel.cpp:11:10: fatal error: ‘PBDJointSolverGaussSeidel.ispc.generated.h’ file
not found

I have ISPC installed, its in the path etc. I asked various chatbots, followed all their steps but it just keeps happening.
If I try to build individual files with ISPC I get this:

ispc FloatArrayMath.ispc -o FloatArrayMath.o -h FloatArrayMath.ispc.generated.h
Warning: No --target specified on command-line. Using default system target
“avx512icl-x16”.
FloatArrayMath.ispc:3:10: fatal error: ‘Math/Aossoa.isph’ file not found
3 | include “Math/Aossoa.isph”
| ^~~~~~~~~~~~~~~~~~
FloatArrayMath.ispc:258:40: Error: Undeclared symbol
“FLOAT_SMALL_NUMBER”.
const uniform float Scale = 1.f / max(FLOAT_SMALL_NUMBER, MaxValue - MinValue);
^^^^^^^^^^^^^^^^^^

FloatArrayMath.ispc:258:36: Error: Ambiguous use of overloaded function
“max”.
const uniform float Scale = 1.f / max(FLOAT_SMALL_NUMBER, MaxValue - MinValue);
^^^

FloatArrayMath.ispc:311:41: Error: Undeclared symbol “VectorSwizzle”.
const varying float VectorData1Real = VectorSwizzle(VectorData1, 0, 0, 2, 2);
^^^^^^^^^^^^^

FloatArrayMath.ispc:312:41: Error: Undeclared symbol “VectorSwizzle”.
const varying float VectorData1Imag = VectorSwizzle(VectorData1, 1, 1, 3, 3);
^^^^^^^^^^^^^

FloatArrayMath.ispc:313:44: Error: Undeclared symbol “VectorSwizzle”.
const varying float VectorData2Swizzle = VectorSwizzle(VectorData2, 1, 0, 3, 2);
^^^^^^^^^^^^^

FloatArrayMath.ispc:349:41: Error: Undeclared symbol “VectorSwizzle”.
const varying float VectorData1Real = VectorSwizzle(VectorData1, 0, 0, 2, 2);
^^^^^^^^^^^^^

FloatArrayMath.ispc:350:41: Error: Undeclared symbol “VectorSwizzle”.
const varying float VectorData1Imag = VectorSwizzle(VectorData1, 1, 1, 3, 3);
^^^^^^^^^^^^^

FloatArrayMath.ispc:351:44: Error: Undeclared symbol “VectorSwizzle”.
const varying float VectorData2Swizzle = VectorSwizzle(VectorData2, 1, 0, 3, 2);
^^^^^^^^^^^^^

FloatArrayMath.ispc:577:4: Error: Undeclared symbol “aos_to_soa2_ispc”.
aos_to_soa2_ispc((uniform float *uniform)&InComplexData[ComplexPos], &RealValue, &ImagValue);
^^^^^^^^^^^^^^^^

FloatArrayMath.ispc:616:30: Error: Undeclared symbol “VectorBitwiseAnd”.
const varying float Mask = VectorBitwiseAnd(VectorCompareGT(VInOut, -FLT_MIN), VectorCompareLT(VInOut, FLT_MIN));
^^^^^^^^^^^^^^^^

FloatArrayMath.ispc:616:47: Error: Undeclared symbol “VectorCompareGT”.
const varying float Mask = VectorBitwiseAnd(VectorCompareGT(VInOut, -FLT_MIN), VectorCompareLT(VInOut, FLT_MIN));
^^^^^^^^^^^^^^^

FloatArrayMath.ispc:616:119: Error: Undeclared symbol “VectorCompareLT”.
const varying float Mask = VectorBitwiseAnd(VectorCompareGT(VInOut, -FLT_MIN), VectorCompareLT(VInOut, FLT_MIN));
^^^^^^^^^^^^^^^

FloatArrayMath.ispc:619:20: Error: Undeclared symbol “VectorSelect”.
InOutBuffer[i] = VectorSelect(Mask, 0.0f, VInOut);
^^^^^^^^^^^^

FloatArrayMath.ispc:258:22: Error: Missing initializer for const variable
“Scale”.
const uniform float Scale = 1.f / max(FLOAT_SMALL_NUMBER, MaxValue - MinValue);
^^^^^

FloatArrayMath.ispc:311:23: Error: Missing initializer for const variable
“VectorData1Real”.
const varying float VectorData1Real = VectorSwizzle(VectorData1, 0, 0, 2, 2);
^^^^^^^^^^^^^^^

FloatArrayMath.ispc:312:23: Error: Missing initializer for const variable
“VectorData1Imag”.
const varying float VectorData1Imag = VectorSwizzle(VectorData1, 1, 1, 3, 3);
^^^^^^^^^^^^^^^

FloatArrayMath.ispc:313:23: Error: Missing initializer for const variable
“VectorData2Swizzle”.
const varying float VectorData2Swizzle = VectorSwizzle(VectorData2, 1, 0, 3, 2);
^^^^^^^^^^^^^^^^^^

FloatArrayMath.ispc:349:23: Error: Missing initializer for const variable
“VectorData1Real”.
const varying float VectorData1Real = VectorSwizzle(VectorData1, 0, 0, 2, 2);
^^^^^^^^^^^^^^^

FloatArrayMath.ispc:350:23: Error: Missing initializer for const variable
“VectorData1Imag”.
const varying float VectorData1Imag = VectorSwizzle(VectorData1, 1, 1, 3, 3);
^^^^^^^^^^^^^^^

FloatArrayMath.ispc:351:23: Error: Missing initializer for const variable
“VectorData2Swizzle”.
const varying float VectorData2Swizzle = VectorSwizzle(VectorData2, 1, 0, 3, 2);
^^^^^^^^^^^^^^^^^^

FloatArrayMath.ispc:616:23: Error: Missing initializer for const variable
“Mask”.
const varying float Mask = VectorBitwiseAnd(VectorCompareGT(VInOut, -FLT_MIN), VectorCompareLT(VInOut, FLT_MIN));
^^^^

Few months ago it all worked.

ISPC version
Intel(r) Implicit SPMD Program Compiler (Intel(r) ISPC), 1.25.3 (build commit 12aac3343c0ea84
9 @ 20250106, LLVM 19.1.6

Hello. Have you found the cause of this error?
I have exactly the same error on Arch Linux.