Master branch 2.4.9 is it stable? How to check it? Gpu functionality not building...
In my previous topic I got my first tries at building openCV from scratch myself on Windows, since I need GPU functionality.
As seen in the solution of the topic, building has been working out and was busy when I left the office. However, since then, it seems that all functionality seems to build, except for the GPU module.
I have read in some topics that master branch could be unstable, but the downloadable packets (2.4.5) don't seem to work for building manually.
It all starts by the following error in my building output, followed by errors that other libraries or build parts cannot link versus this GPU module :
Build started 31/05/2013 9:25:03.
3>InitializeBuildStatus:
3> Touching "opencv_gpu.dir\Debug\opencv_gpu.unsuccessfulbuild".
3>CustomBuild:
3> All outputs are up-to-date.
3>ClCompile:
3> All outputs are up-to-date.
3> stereocsbp.cpp
3>..\..\..\OpenCV_source\modules\gpu\src\stereocsbp.cpp(199): error C3861: 'assert': identifier not found
3> ..\..\..\OpenCV_source\modules\gpu\src\stereocsbp.cpp(303) : see reference to function template instantiation 'void csbp_operator<short>(cv::gpu::StereoConstantSpaceBP &,cv::gpu::GpuMat &,cv::gpu::GpuMat &,cv::gpu::GpuMat &,const cv::gpu::GpuMat &,const cv::gpu::GpuMat &,cv::gpu::GpuMat &,cv::gpu::Stream &)' being compiled
3>..\..\..\OpenCV_source\modules\gpu\src\stereocsbp.cpp(199): error C3861: 'assert': identifier not found
3> ..\..\..\OpenCV_source\modules\gpu\src\stereocsbp.cpp(303) : see reference to function template instantiation 'void csbp_operator<float>(cv::gpu::StereoConstantSpaceBP &,cv::gpu::GpuMat &,cv::gpu::GpuMat &,cv::gpu::GpuMat &,const cv::gpu::GpuMat &,const cv::gpu::GpuMat &,cv::gpu::GpuMat &,cv::gpu::Stream &)' being compiled
3>
3>Build FAILED.
Could a solution to this be to use the GPU module of the 2.4.5 branch, prebuilt, or won't this work?
The release package 2.4.5 can be built with CUDA 5.0 using cmake,
Which version of Visual Studio do you use?
Actually you can solve this issue by removing this line (it's just an assert for debug build).
This is visual studio 2010. I will try to built the 2.4.5 package with cuda 5.0 and try the solution of removing the line of code, like vladislav suggested. However, the question still remains, is there possibility to check if the master branch is stable or not on a specific moment?
OpenCV master branch is a develop branch. It contains all new features that will be included to the next OpenCV major release (2.5 or even 3.0). At the moment master branch contains many global changes (API changes, module reorganization, etc.), and it will be more such changes. If you want to use stable version use 2.4 branch or 2.4.x tarballs.
Ok thanks for the information. On the other hand, when getting the masterbranch, what i do is using Tortoise GIT and link it to the https://github.com/Itseez/opencv.git. Is there a way of specifying which branch you want to download?
Nevermind, have found it. You can specify the branch you want tot sync.
git downloads full repository with all branches. You can switch to 2.4 branch after cloning:
With VS2010, W7x64 I use OpenCV 2.4.9 built with CUDA support (juste check the cuda line in cmake GUI). I don't had any errors... But my project changed and I never used the GPU module.
Sooo I don't know if it really helps you but : Just installing the CUDA sdk from NVIDIA website, build works.
I can search in my install which packages I included if you want.
One more thing : building with CUDA took 4-5h for debug + release on intel Xeon W3565 + 4Gb memory + Quadro 600. It's long !
I know that building takes a long time. However, you can reduce it by specifying your CUDA architecture. Thanks for the input nevertheless!