GPU support on Mac OS X 10.7.3 - Cuda 4.1.28 (Bug #1877)


Added by nox nox almost 13 years ago. Updated almost 13 years ago.


Status:Done Start date:2012-05-02
Priority:Normal Due date:
Assignee:Anatoly Baksheev % Done:

0%

Category:gpu (cuda)
Target version:2.4.1
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

The compilation with "WITH_CUDA" flag fails. All errors are like this, and located in imgproc.cpp (in GPU module):

opencv-2.4/modules/gpu/src/imgproc.cpp:373:5: error:
no matching function for call to 'buildWarpPlaneMaps'
buildWarpPlaneMaps(dst_roi.tl().x, dst_roi.tl().y, map_x, map_y, ...

It seems to be a namespace problem. using cv::gpu::device::imgproc::buildWarpPlaneMaps(...) solve the problem


Associated revisions

Revision 935f9735
Added by Roman Donchenko over 11 years ago

Merge pull request #1877 from tim36272:patch-2

History

Updated by Alexander Shishkov almost 13 years ago

  • Target version changed from 2.4.0 to 2.4.1

Updated by Anatoly Baksheev almost 13 years ago

We don't have such problems. We tested it with CUDA4.2 MacOS 10.6.7.

Anyway I added namespaces in trunk and 2.4 branch.

Is it still reproduced?

Updated by Marco Bertini almost 13 years ago

I'm experiencing this issue as well:

OSX: 10.7.3
CUDA Toolkit: 4.2

/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:373:5: error: no matching function for call to 'buildWarpPlaneMaps'
buildWarpPlaneMaps(dst_roi.tl().x, dst_roi.tl().y, map_x, map_y, K_Rinv.ptr<float>(), R_Kinv.ptr<float>(),
^~~~~~~~~~~~~~~~
/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:357:15: note: candidate function not viable: no known conversion from 'int' to 'Size'
(aka 'Size_<int>') for 1st argument;
void cv::gpu::buildWarpPlaneMaps(Size src_size, Rect dst_roi, const Mat &K, const Mat& R, const Mat &T,
^
/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:405:5: error: no matching function for call to 'buildWarpCylindricalMaps'
buildWarpCylindricalMaps(dst_roi.tl().x, dst_roi.tl().y, map_x, map_y, K_Rinv.ptr<float>(), R_Kinv.ptr<float>(), scale, StreamAccessor::getStream(stream));
^~~~~~~~~~~~~~~~~~~~~~
/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:390:15: note: candidate function not viable: no known conversion from 'int' to 'Size'
(aka 'Size_<int>') for 1st argument;
void cv::gpu::buildWarpCylindricalMaps(Size src_size, Rect dst_roi, const Mat &K, const Mat& R, float scale,
^
/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:437:5: error: no matching function for call to 'buildWarpSphericalMaps'
buildWarpSphericalMaps(dst_roi.tl().x, dst_roi.tl().y, map_x, map_y, K_Rinv.ptr<float>(), R_Kinv.ptr<float>(), scale, StreamAccessor::getStream(stream));
^~~~~~~~~~~~~~~~~~~~
/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:422:15: note: candidate function not viable: no known conversion from 'int' to 'Size'
(aka 'Size_<int>') for 1st argument;
void cv::gpu::buildWarpSphericalMaps(Size src_size, Rect dst_roi, const Mat &K, const Mat& R, float scale,
^
/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:1146:33: error: cannot initialize an array element of type 'Caller' (aka 'void ()(const
PtrStep<cufftComplex>, const PtrStep<cufftComplex>, DevMem2D_<cufftComplex>, cudaStream_t)') with an lvalue of type 'void (const cv::gpu::GpuMat &, const
cv::gpu::GpuMat &, cv::gpu::GpuMat &, int, bool, cv::gpu::Stream &)'
static Caller callers[] = { mulSpectrums, mulSpectrums_CONJ };
^~~~~~~~~~
/Users/bertini/Documents/workspace/libs_c/OpenCV-2.4.0/modules/gpu/src/imgproc.cpp:1175:33: error: cannot initialize an array element of type 'Caller' (aka 'void (
)(const
PtrStep<cufftComplex>, const PtrStep<cufftComplex>, float, DevMem2D_<cufftComplex>, cudaStream_t)') with an lvalue of type 'void (const cv::gpu::GpuMat &, const
cv::gpu::GpuMat &, cv::gpu::GpuMat &, int, float, bool, cv::gpu::Stream &)'
static Caller callers[] = { mulAndScaleSpectrums, mulAndScaleSpectrums_CONJ };
^~~~~~~~~~~~~~~~~~
[ 69%] Built target opencv_legacy
5 errors generated.
make2: * [modules/gpu/CMakeFiles/opencv_gpu.dir/src/imgproc.cpp.o] Error 1
make1: *
[modules/gpu/CMakeFiles/opencv_gpu.dir/all] Error 2

Updated by Marco Bertini almost 13 years ago

Compiling with:

C++ Compiler: /usr/bin/c++
nirvana:build bertini$ /usr/bin/c++ --version
Apple clang version 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.3.0
Thread model: posix

Updated by Marco Bertini almost 13 years ago

I confirm that to eliminate the first three errors (those about no matching functions) it's enough to fully qualify the names of the functions using cv::gpu::device::imgproc

Updated by Marco Bertini almost 13 years ago

All the errors are eliminated by adding the namespaces.

Updated by Anatoly Baksheev almost 13 years ago

The issue was fixed in trunk & 2.4 branch. Will release with 2.4.1 in the end of May.

Please reopen if it is still reproduced, since even without the fix I had no errors under my mac.

  • Status changed from Open to Done

Also available in: Atom PDF