In short, I successfully built all the CUDA 3.0 SDK examples on both platforms.
In details,
On Ubuntu 9.04
[indent] With gcc 4.3.3, verbose=1 make is going to end no any problem.
- Why not Nvidia guys reduce those building warnings to minimum or even null? It’s very easy at syntax level.
- If any warning cannot be removed, there may be some root cause from app or tools. Right?
[/indent]
On FC11
[indent] With gcc 4.4.1 and nvcc compiler flag -fno-inline
- the projects which do not #include <shrUtils.h> can be built smoothly, same as in version 2.3. In CUDA 2.3 SDK examples, shrUtils.h is not included at all, so we care why we need this…
- others else that #include <shrUtils.h> stop compiling on a deprecated symbol of __builtin_stdarg_start
[indent]+ comment #include <rendercheckGL.h> in shrUtils.h, the projects not using GL will go through. So we need to think why put rendercheckGL.h in shrUtils.h? shrUtils.h does not depends on it at all. This is not a good practice in header file design!
+ but some projects need <rendercheckGL.h>, then simply add one line #include <rendercheckGL.h> in postProcessGL/main.cpp, volumeRender.cpp, and particles.cpp, because they directly depends on this file.
+ bandwidthTest cannot be compiled yet. Yeah, this is caused by the incompatibility of nvcc to gcc/g++ 4.4.x (fail to instantiation even if you #include <string> for the string declaration). But why bandwithTest has to be a .cu file, except it proves nvcc is a good invoker? for testing bandwidth semantics, all can be done at host side, surely it can kick-off a device_to_device DMA transfer. So just change .cu to .cpp, and Makefile to compile .cpp.
+ all done
[/indent]
[/indent]
Conclusion: CUDA SDK can be built successfully with MINIMUM and REASONABLE changes to projects, methodology in which may bring the SDK less dependency to building tools like gcc 4.4.1 issue. Nvidia CUDA team may shape an maximum independent application SDK to insulate with building tools evolution. I do not think that ‘better’ gcc tool chain ever be an obstacle.
Maybe just as I never met it, however,
Next: Sorry, Ubuntu 9.10 is stuck. I upgrade my 9.04 to be there for further test.