"ld: Undefined symbols" with Clang/LLVM 15.0.0 and ifort 2021.7.0.20220726

PRIMA fails to build with Clang/LLVM 15.0.0 and ifort 2021.7.0.20220726, the error being “ld: Undefined symbols ___for_ieee_signaling_ge_k4_ …”

See the GitHub Actions workflow run at 240214.083510.HKT add macos-13 to fortran stress test · libprima/prima@bb69737 · GitHub

Note, however, that the following workflow run was successful: 240214.083021.HKT add macos-13 to CI tests · libprima/prima@a8d73d6 · GitHub

Checking the runner images (See “Set up job” section of the log), I found the following.

Failure (for 240214.083510.HKT add macos-13 to fortran stress test · libprima/prima@bb69737 · GitHub):

  Image: macos-13
  Version: 20240204.1
  Included Software: https://github.com/actions/runner-images/blob/macos-13/20240204.1/images/macos/macos-13-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/macos-13%2F20240204.1

Success (for 240214.083021.HKT add macos-13 to CI tests · libprima/prima@a8d73d6 · GitHub):

  Image: macos-13
  Version: 20240114.1
  Included Software: https://github.com/actions/runner-images/blob/macos-13/20240114.1/images/macos/macos-13-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/macos-13%2F20240114.1

We can see that the two runs used different versions of the image. In particular, following the “Included Software” link, I find that the failing run used Clang/LLVM 15.0.0, while the successful one used Clang/LLVM 14.0.3. I am not sure whether this is the reason for the failure (doesn’t clang provide ld on macOS-13?).

Maybe related:

  1. gfortran works fine (maybe due to the ld it uses?).
  2. ld also complains that “d: warning: no platform load command found in ‘/opt/intel/oneapi/compiler/2022.2.0/mac/bin/intel64/…/…/compiler/lib/libirc.a[165](intel_avx_rep_memset.o)’, assuming: macOS”.

It would be great if someone could provide any hints about how to fix this. You may post your comments here: CMake build fails on macOS-13 · Issue #158 · libprima/prima · GitHub. Thank you.

1 Like

The problem has been fixed:

Nothing is wrong with Clang.

1 Like