Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gcc 14.x broke nvcc #4281

Closed
totaam opened this issue Jul 4, 2024 · 0 comments
Closed

gcc 14.x broke nvcc #4281

totaam opened this issue Jul 4, 2024 · 0 comments
Labels
bug Something isn't working packaging

Comments

@totaam
Copy link
Collaborator

totaam commented Jul 4, 2024

Looks like redefinition errors when using certain std headers in GMF.
Compiling the CUDA modules now fails (command extracted from running the build as usual):

$ CC=clang /opt/cuda-12.3.2/bin/nvcc -fatbin -std=c++17 -arch=all  -Wno-deprecated-gpu-targets -Xnvlink -ignore-host-info --allow-unsupported-compiler -c fs/share/xpra/cuda/RGBA_to_RGBAP.cu -o fs/share/xpra/cuda/RGBA_to_RGBAP.fatbin
/usr/include/c++/14/x86_64-redhat-linux/bits/c++config.h(2668): error: user-defined literal operator not found
    typedef __decltype(0.0bf16) __bfloat16_t;
                       ^
/usr/include/c++/14/type_traits(529): error: type name is not allowed
      : public __bool_constant<__is_array(_Tp)>
                                          ^
/usr/include/c++/14/type_traits(529): error: identifier "__is_array" is undefined
      : public __bool_constant<__is_array(_Tp)>
                               ^
/usr/include/c++/14/type_traits(581): error: type name is not allowed
      : public __bool_constant<__is_member_object_pointer(_Tp)>
                                                          ^
(...)
20 errors detected in the compilation of "fs/share/xpra/cuda/RGBA_to_RGBAP.cu".

That's with: gcc (GCC) 14.1.1 20240620 (Red Hat 14.1.1-6) from Fedora 40.

Adding -ccbin=`which clang++` as a workaround seems to work.
This is going to require packaging updates.

The MS Windows builds are not affected because on that platform nvcc uses MSVC instead. (the current version of gcc in MSYS2 is 14.1.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working packaging
Projects
None yet
Development

No branches or pull requests

1 participant