which version of cuda? 2.1, 2.2, or 2.3 compiling sdk examples...

Here is my OS:
Mike@linux-rqt0:~> uname -i && cat /etc/*release
x86_64
openSUSE 11.1 (x86_64)
VERSION = 11.1

Here is the cuda driver installed:
Mike@linux-rqt0:~> nvcc --version
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2009 NVIDIA Corporation
Built on Thu_Jul_30_09:24:36_PDT_2009
Cuda compilation tools, release 2.3, V0.2.1221

I went to the download site for cuda and chose my OS (linux 64-bit) and grabbed the 2.3 toolkit and sdk run files
and went through the directions to install them correctly.
In the {$home}/NVIDIA_GPU_Computing_SDK/C directory, I tried to compile the sdk examples with make, but I get

Mike@linux-rqt0:~/NVIDIA_GPU_Computing_SDK/C> make
make[1]: Entering directory /home/Mike/NVIDIA_GPU_Computing_SDK/C/common' In file included from /usr/include/features.h:354, from /opt/gcc-trunk/bin/../lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/i686-pc-linux-gnu/bits/os_defines.h:44, from /opt/gcc-trunk/bin/../lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/i686-pc-linux-gnu/bits/c++config.h:248, from /opt/gcc-trunk/bin/../lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/iostream:44, from ./../common/inc/bank_checker.h:18, from src/bank_checker.cpp:15: /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory In file included from src/bank_checker.cpp:15: ./../common/inc/bank_checker.h:34: warning: type qualifiers ignored on function return type ./../common/inc/bank_checker.h:220: warning: type qualifiers ignored on function return type src/bank_checker.cpp:57: warning: type qualifiers ignored on function return type src/bank_checker.cpp:259: warning: type qualifiers ignored on function return type make[1]: *** [obj/release/bank_checker.cpp.o] Error 1 make[1]: Leaving directory /home/Mike/NVIDIA_GPU_Computing_SDK/C/common’
make: *** [lib/libcutil.so] Error 2

I thought version 2.3 was supposed to handle this issue (not finding ‘stubs-32.h’). Why isn’t it looking for
a ‘stubs-64.h’? Aren’t 64 bit machines much more popular nowdays? To get this ‘stubs-32.h’ file, do I need to
lie to the download center and state I have linux 32-bit os and download those run files as well?
I am a scientific programmer and still have a long way to go with these linux subtleties.

I think you will find that the problem is that you are using gcc 4.4, which isn’t supported with CUDA.

gcc --version says I’m on 4.3.2, but I can try downloading another gcc.

gcc (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291]

Copyright © 2008 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

That clearly shows your compiler is pulling in gcc-4.4 i686 components from /opt (which is very non standard). I haven’t used SuSe for a long time, but something looks seriously broken to me.

I did a ‘whereis gcc’ and it gave

gcc: /usr/bin/gcc /usr/lib64/gcc /usr/bin/X11/gcc /opt/gcc-trunk/bin/gcc

so there is 3 gcc’s, and the Makefile is going after the /opt/gcc-trunk/gcc, whereas

‘gcc --version’ looks at /usr/bin/gcc.

I will try to clean up this mess and get one gcc version going that is supported by Cuda.