Skip to content

Possible incompatibility with glibc 2.42

Description:

While compiling aur/llama.cpp-cuda using:

glibc 2.42+r2+g3ec4dd77f648-1
cuda 12.9.1-1
nvidia-utils 575.64.05-2

I get the error:


  #$ cudafe++ --c++17 --gnu_version=140301 --display_error_number
  --orig_src_file_name "CMakeCUDACompilerId.cu" --orig_src_path_name
  "/home/builder/pkg_builds/build-llama.cpp-cuda-df4ccc2e/src/build/CMakeFiles/4.0.3-dirty/CompilerIdCUDA/CMakeCUDACompilerId.cu"
  --allow_managed --m64 --parse_templates --gen_c_file_name
  "tmp/CMakeCUDACompilerId.cudafe1.cpp" --stub_file_name
  "CMakeCUDACompilerId.cudafe1.stub.c" --gen_module_id_file
  --module_id_file_name "tmp/CMakeCUDACompilerId.module_id"
  "tmp/CMakeCUDACompilerId.cpp4.ii"

  /usr/include/bits/mathcalls.h(206): error: exception specification is
  incompatible with that of previous function "rsqrt" (declared at line 597
  of /opt/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h)

    extern double rsqrt (double __x) noexcept (true); extern double __rsqrt (double __x) noexcept (true);
                                     ^



  /usr/include/bits/mathcalls.h(206): error: exception specification is
  incompatible with that of previous function "rsqrtf" (declared at line 621
  of /opt/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h)

    extern float rsqrtf (float __x) noexcept (true); extern float __rsqrtf (float __x) noexcept (true);
                                    ^

Additional info:

It appears to be similar to a previous incompatibility in glibc 2.41 https://forums.developer.nvidia.com/t/error-exception-specification-is-incompatible-for-cospi-sinpi-cospif-sinpif-with-glibc-2-41/323591

But within a different math function

  • package version(s):

glibc 2.42+r2+g3ec4dd77f648-1 cuda 12.9.1-1 nvidia-utils 575.64.05-2

  • config and/or log files:
  • link to upstream bug report, if any:

Steps to reproduce:

wget https://raw.githubusercontent.com/envolution/aur/8bd4e1e0c5f90d4a31c088ccb52ed0115cb6fbd7/maintain/build/llama.cpp-cuda/PKGBUILD
touch llama.cpp.conf && touch llama.cpp.service
aur_llamacpp_build_universal=true makepkg -si --skipinteg
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information