Re: [CMake] Cuda CUDA_SEPARABLE_COMPILATION errors during linking
Apparently there's a bug report and fix for this: http://www.cmake.org/Bug/view.php?id=15016 But the fix hasn't been committed anywhere. It has been lingering in limbo for almost 9 months. Thanks!! wes On Fri, Apr 17, 2015 at 4:20 PM, Wesley Smith wesley.h...@gmail.com wrote: With CUDA_SEPARABLE_COMPILATION enabled, I'm always getting linking errors when I try to build. Seems it's looking for a directory that doesn't exist: 'snip/build/CMakeFiles/SlicerLib.dir/Debug If I manually create this directory, everything works. Seems that either the directory path isn't being computed properly or that code to create the directory if needed is missing. wes 2C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\bin\crt\link.stub : fatal error C1083: Cannot open compiler generated file: 'snip/build/CMakeFiles/SlicerLib.dir/Debug/SlicerLib_intermediate_link.obj': No such file or directory 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: The command setlocal 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: C:\Program Files (x86)\CMake\bin\cmake.exe -E echo Building NVCC intermediate link file CMakeFiles/SlicerLib.dir/Debug/SlicerLib_intermediate_link.obj 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\bin\nvcc.exe -arch=sm_30 -m64 -ccbin C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin -Xcompiler /MDd -dlink snip/build/CMakeFiles/SlicerLib.dir/src/bitmap/fragCounter/Debug/SlicerLib_generated_amFragCounterCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/bitmap/materialCounter/Debug/SlicerLib_generated_amBitmapMaterialCounterABufferCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/bitmap/materialCounter/Debug/SlicerLib_generated_amBitmapMaterialCounterCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/cuda/Debug/SlicerLib_generated_amCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/cuda/Debug/SlicerLib_generated_amCudaTexture.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorBoundaryProcess.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorContourDifference.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorContourOffset2.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorContourProcess.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaHood.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaIntersections.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaLineSegments.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaLineSegments2.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaParametricIntersections.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorInfill45Processor.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorOutlineContour.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorSlicerProcess.cu.obj -o snip/build/CMakeFiles/SlicerLib.dir/Debug/SlicerLib_intermediate_link.obj 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :cmEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: endlocal call :cmErrorLevel %errorlevel% goto :cmDone 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :cmErrorLevel 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: exit /b %1 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :cmDone 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :VCEnd exited with code 1. 3-- Build started: Project: CmbVisualizer, Configuration: Debug x64 -- -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more
[CMake] Cuda CUDA_SEPARABLE_COMPILATION errors during linking
With CUDA_SEPARABLE_COMPILATION enabled, I'm always getting linking errors when I try to build. Seems it's looking for a directory that doesn't exist: 'snip/build/CMakeFiles/SlicerLib.dir/Debug If I manually create this directory, everything works. Seems that either the directory path isn't being computed properly or that code to create the directory if needed is missing. wes 2C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\bin\crt\link.stub : fatal error C1083: Cannot open compiler generated file: 'snip/build/CMakeFiles/SlicerLib.dir/Debug/SlicerLib_intermediate_link.obj': No such file or directory 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: The command setlocal 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: C:\Program Files (x86)\CMake\bin\cmake.exe -E echo Building NVCC intermediate link file CMakeFiles/SlicerLib.dir/Debug/SlicerLib_intermediate_link.obj 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\bin\nvcc.exe -arch=sm_30 -m64 -ccbin C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin -Xcompiler /MDd -dlink snip/build/CMakeFiles/SlicerLib.dir/src/bitmap/fragCounter/Debug/SlicerLib_generated_amFragCounterCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/bitmap/materialCounter/Debug/SlicerLib_generated_amBitmapMaterialCounterABufferCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/bitmap/materialCounter/Debug/SlicerLib_generated_amBitmapMaterialCounterCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/cuda/Debug/SlicerLib_generated_amCuda.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/cuda/Debug/SlicerLib_generated_amCudaTexture.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorBoundaryProcess.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorContourDifference.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorContourOffset2.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorContourProcess.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaHood.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaIntersections.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaLineSegments.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaLineSegments2.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorCudaParametricIntersections.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorInfill45Processor.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorOutlineContour.cu.obj snip/build/CMakeFiles/SlicerLib.dir/src/vector/Debug/SlicerLib_generated_amVectorSlicerProcess.cu.obj -o snip/build/CMakeFiles/SlicerLib.dir/Debug/SlicerLib_intermediate_link.obj 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :cmEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: endlocal call :cmErrorLevel %errorlevel% goto :cmDone 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :cmErrorLevel 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: exit /b %1 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :cmDone 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd 2C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(127,5): error MSB3073: :VCEnd exited with code 1. 3-- Build started: Project: CmbVisualizer, Configuration: Debug x64 -- -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to