We have an in-house C++-code which partly uses CUDA. The CUDA-code is spread between the files "cuda_kernel.hpp" and "cuda_kernel.cu". All was good and the code compiled both on my local machine and our cluster.
Now I had to update my Linux from impish to jammy, which I did on Friday. When trying to compile said project today I received the following error message:
Making all in dergeraet
make[1]: Entering directory '/home/paul/Projekte/DerGeraet/dergeraet'
make all-am
make[2]: Entering directory '/home/paul/Projekte/DerGeraet/dergeraet'
CXX poisson.o
make[2]: *** No rule to make target '/usr/include/c++/10/new', needed by 'cuda_kernel.o'. Stop.
make[2]: Leaving directory '/home/paul/Projekte/DerGeraet/dergeraet'
make[1]: *** [makefile:306: all] Error 2
make[1]: Leaving directory '/home/paul/Projekte/DerGeraet/dergeraet'
make: *** [Makefile:374: all-recursive] Error 1
So I checked whether nvcc was installed. nvcc --version returned nothing so I followed the instructions on https://developer.nvidia.com/cuda-downloads to install cuda and then ran sudo apt install nvidia-cuda-toolkit. Now when calling nvcc --version Linux returns
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0
Ok, me thinks, let's compile again but the error-message still remains the same.
I checked '/usr/include/c++/10/new' and there is only '/usr/include/c++/11/new', i.e., no '/usr/include/c++/10' folder.
I am really out of clues here. Tried reinstalling cuda twice with different version numbers (11.6 and 11.7) but the error persisted. Is this some weird incompatibility issues between gcc and nvcc?
Other in-house code (without CUDA) compiles fine, thus I think it must be a cuda-related problem.
Thanks for any help in advance!