You are right: Compiling in /opt works well. In any case, being able to compile "deviceQuery" is not important, only that I get the same error if I try to compile Cuda in CinGG. Do I need to put in any particular instructions? (I used --with-cuda). I have to put the string on: -I/opt/cuda/include (vedi wiki più sotto) in the compiler? How do I do it? Do I have to compile CinGG as root? With the command "printenv" I see the voice: "CUDA_PATH=/opt/cuda" I report what Arch's wiki says: "The cuda package installs all components in the directory /opt/cuda. For compiling CUDA code, add /opt/cuda/include to your include path in the compiler instructions. For example this can be accomplished by adding -I/opt/cuda/include to the compiler flags/options. To use nvcc, a gcc wrapper provided by NVIDIA, just add /opt/cuda/bin to your path. To find whether the installation was successful and if cuda is up and running, you can compile the samples installed on /opt/cuda/samples (you can simply run make inside the directory, altough is a good practice to copy the /opt/cuda/samples directory to your home directory before compiling) and running the compiled examples. A nice way to check the installation is to run one of the examples, called deviceQuery."
export EXTRA_NVCCFLAGS=-I/usr/local/cuda/samples/common/inc/
Maybe Arch installs Cuda in /opt and Fedora in /usr/local/...?