I have updated cuda from 4.2.9. to 5.0 and all works well. After updating to cuda 5.5 i have got compile error from cudafe. I compiled the *.ii file with cudafe 5.0 and all works well. I havent found Release Notes or other documentation about the changes from cudafe. Does anybody know something about the changes?
Errormessage:
C:/Scivis/libs/vs2010/intel/amd64/boost/1_48_0/include\boost/type_traits/is_convertible.hpp(423): error: an incomplete class type is not allowed
detected during instantiation of class "boost::is_convertible<From, To> [with From=Sequence, To=boost::fusion::nil]"
C:/Scivis/libs/vs2010/intel/amd64/boost/1_48_0/include\boost/fusion/container/list/detail/empty_impl.hpp(31): here
c:\scivis\werkstatt\visualizer\plugins\reconstruction\transform.hpp(27): error: nontype "Engine::DataDeviceHandle" is not a class template
I’ll try not to hijack the thread completely, but I am also getting compile errors with cuda 5.5.
It is of a different kind. It appears a parenthesis is not well closed.
I get “error : A single input file is required for a non-link phase when an outputfile is specified” at the end of the compile phase.
This is on Windows with the 64 bits toolkit.
As for the OP’s problem, I’m afraid I am of no help!
@betula: As far as I know an .ii file is a compiler internal temporary file, and manual processing of internal temporary files is unsupported. You might want to try -v with nvcc to see how those .ii files are processed by nvcc, then do your own processing accordingly.
@Ailleur: In my experience this means nvcc is invoked with a badly formed command line. The typical case I have seen is when the selection of various options in MSVS lead to a incorrectly constructed command line. Somewhere in MSVS you should be able to see the nvcc command line it constructs, find the incorrect syntax (maybe a missing switch, or a duplicate file name), then trace it back to the MSVS option that contributes the faulty command line component.
Also:
Not sure if this what njuffa was referring to, but in my experience VS sometimes does not display all the flags that it attempts to compile with - so direct copy+pasting of the VS compile code into command prompt will fail. Depends how youre attacking the problem I guess.
#3
I know that the .ii file ist a temporary file. I generated it with --keep and -v to see all steps to investigate the error. The interesting point is: with cudafe 5.0 all works well and manually processing is possible. With cudafe 5.5 not.
The error output of cudafe 5.5 is the same as if i compile the whole project with nvcc.
I haven’t change the compile options when i have updated cuda 5.0 to 5.5. So i think in cudafe something changed and there is no documentation of it.
Do you have any idea what i can do?