which version of gcc is supported for sdk

I am running cuda 2.3 on a suse 11.1 linux machine. The distro came with an old version (I think 3.3) of gcc, and
in the common directory, I notice in the makefile (common.mk) requires g++, and this wasn’t included in my distro.
I can find various versions of gcc from

  1. gnu.org
  2. opensuse (downloads)
  3. novell.com (product downloads)
  4. using Yast2

How do I find documentation on which version of gcc I should install to get sdk codes to compile?
When I installed version 4.3 of gcc, /usr/bin contains g++, but I still get the following error:

make[1]: Entering directory `/home/wolfson/NVIDIA_GPU_Computing_SDK/C/common’
In file included from ./…/common/inc/bank_checker.h:18,
from src/bank_checker.cpp:15:
/usr/include/c++/4.3/iostream:44:28: error: bits/c++config.h: No such file or directory

Any advice is greatly appreciated.

You should install gcc 4.3 from YAST. Nothing else is going to work. Forget about compiling the SDK for a second and verify that your C++ compiler really works. Can you compile and run this:

#include <iostream>

using namespace std;

int main ()

{

  cout << "Hello World!";

  return 0;

}

After downloading/installing gcc43 packages using yast2,

I called the example code ‘hello.c’ and tried to compile using

g++

It fails due to missing header files.

----cut here----

wolfson@linux-9k64:~/TEST> g++ hello.c

In file included from hello.c:1:

/usr/include/c++/4.3/iostream:44:28: error: bits/c++config.h: No such file or directory

In file included from /usr/include/c++/4.3/cwchar:49,

             from /usr/include/c++/4.3/bits/postypes.h:47,                         

             from /usr/include/c++/4.3/iosfwd:47,                                  

             from /usr/include/c++/4.3/ios:44,                                     

             from /usr/include/c++/4.3/ostream:45,                                 

             from /usr/include/c++/4.3/iostream:45,                                

             from hello.c:1:                                                       

/usr/include/c++/4.3/cstddef:49:20: error: stddef.h: No such file or directory

In file included from /usr/include/stdio.h:75,

             from /usr/include/c++/4.3/cstdio:50,                                  

             from /usr/include/c++/4.3/bits/char_traits.h:48,                      

             from /usr/include/c++/4.3/ios:46,                                     

             from /usr/include/c++/4.3/ostream:45,                                 

             from /usr/include/c++/4.3/iostream:45,                                

             from hello.c:1:                                                       

OK so you have a broken C++ compiler installation. It is no use trying to do anything with CUDA until you fix it.

Given this is a distribution specific problem, might I be so bold as to suggest you ask about the problem through whatever support channels exist for OpenSuse?

As an aside, none of this should be hard. My current distribution of choice for CUDA workstations is Ubuntu 9.04, which “just works”. The 5 week old machine I am typing this on went from courier delivered box of parts to working machine which had successfully compiled and ran its first CUDA assisted finite difference simulation in less than 90 minutes, including the time to stop and make a cup of espresso somewhere in the middle. Your adventures with trying to compile a CUDA “hello world” on OpenSuSe seem to have been dragging on for months. Perhaps it is time to consider switching to another distribution?

It’s all working, finally! Thanks so much for all the kind help!