Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error C3863 in itkCudaImageDataManager.hxx when building SimpleRTK with VS2017 #124

Closed
shehperd opened this issue Dec 11, 2017 · 8 comments

Comments

@shehperd
Copy link

shehperd commented Dec 11, 2017

Hi, I am trying to build SimpleRTK on a Windows 10 64 bit PC with Visual Studio 2017 community edition and CUDA 9.0 installed.
Thanks to @codeling. In the issue VS2017: Build failing on rtkCudaCropImageFilter.cu (exit code 1) #118, I have configured CUDA_HOST_COMPILER in Cmake to "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe" and NVIDA SDK bin folder in Path environment variable.
With these settings, I can successfully build ITK v4.12.2 with Module_ITKReview selected and everything else is the default. I didn't select Wrap Python in ITK, is this correct?
I can correctly build RTK (version: 9281310dc53fae4c935d0957dee51855176fe24c) without SimpleRTK selected. But it shows errors below when I selected BUILD_SIMPLERTK in Cmake. I got in total 96 such similar errors. The Python version I used is v2.7.13.

11>d:\coding\simplertk_bin\rtk\utilities\itkcudacommon\include\itkCudaImageDataManager.hxx(43): error C3863: array type 'int [itk::CudaImage<TPixelType,2>::ImageDimension]' is not assignable [D:\Coding\simpleRTK_bin\RTK-build\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]

These errors reference to the following codes in itkCudaImageDataManager.hxx

  for (unsigned int d = 0; d < ImageDimension; d++)
    {
    m_BufferedRegionIndex[d] = index[d];
    m_BufferedRegionSize[d] = size[d];
    }

Any idea on how to solve these errors? Many thanks.

@shehperd
Copy link
Author

shehperd commented Dec 12, 2017

I changed to VS2015 and tried to rebuild both ITK and RTK from the beginning. Similarly, I can build ITK and RTK successfully. However, it fails when I selected BUILD_SIMPLERTK in Cmake. The errors are similar to those above.
I have posted the building output in this link, hope someone can help me figure out the problem. Many thanks.

@shehperd
Copy link
Author

Tried in VS2010 with the same configurations, failed as well. Also, I have tried the super build in RTK v1.3.0 version, it failed as well.

Previously, I have successfully built RTK v1.1.0 with BUILD_SIMPLERTK enabled in VS2010 and cuda v6.5. Recently, I noticed the example Matlab script for reconstruction on the wiki page.
When I run the code, it reports undefined variable on the line
fov = py.SimpleRTK.FieldOfViewImageFilter();
I guess this is a new function implemented after v1.1.0. This is the reason I am trying to build newer versions of SimpleRTK.

@SimonRit
Copy link
Collaborator

Hi,
Thanks for the report. To answer your first question: no, you don't need wrap python in ITK and you don't even need Module_ITKReview.
I don't know what could possibly be wrong... In ITKCudaCommon, the only recent commit is ef23a06.
Maybe you can try to revert this commit first? If not, I'll give it a try later on my Windows box which I don't have at hand (at best on Friday).
Simon

@shehperd
Copy link
Author

Thanks for your reply, Simon.
I just tried your suggestion and revert the commit ef23a06., however, I still got the same errors. I guess the problem is not in ITKCudaCommon files, probably the building options for the project? Inside SimpleRTK solution, I can build SimpleRTKBasicFilters0 but have errors for SimpleRTKBasicFilters1, SimpleRTKBasicFilters2 and SimpleRTKBasicFilters3.
For your information, the version I used ITK 4c1f807and latest RTK version 12e085d

Many thanks for looking into this. If you need me to validate your thoughts, I am happy to do that.
Guojin

@shehperd
Copy link
Author

shehperd commented Jan 8, 2018

Hi @SimonRit
Just want to give you an update on my further trials. In the past few days, I managed to compile SimpleRTK on Ubuntu 16.04. I have used the same version of ITK and RTK and same configuration settings in cmake as those on Windows. So I guess there does exist some issues on building SimpleRTK on Windows. Hopefully, someone can help solve them in the future.
Many thanks

@codeling
Copy link
Contributor

Seems to get addressed by https://github.com/SimonRit/RTK/pull/147

@SimonRit
Copy link
Collaborator

SimonRit commented Jan 26, 2018

I also added a missing dependency in fa970b2 and I now have a working SimpleRTK+CUDA+MSVC2013. Let us know if you find any other issue with other MSVC versions.
Thanks for the report,
Simon

@shehperd
Copy link
Author

Many thanks, codeling and Simon.
I tried the latest commit and the errors are gone now. Appreciate your work on this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants