[ros-users] compiling opencv on snow leopard

Dan Lazewatsky dlaz at cse.wustl.edu
Sat Jul 17 19:58:51 UTC 2010


I decided to revisit getting opencv running on snow leopard and am now  
running up against a different problem:
Linking CXX shared library ../../lib/cv.so
ld: warning: in /Library/Frameworks//Python.framework/Python, missing  
required architecture x86_64 in file

A bit of digging found that adding -arch x86_64 to the LDFLAGS line in  
the makefile might help, but I don't know how to achieve that in the  
ROS build environment.
(http://modpython.org/pipermail/mod_python/2007-October/024394.html)

Thanks,
-Dan

On May 16, 2010, at 7:35 PM, Nicholas Butko wrote:

> The build is complaining that you don't have the old quicktime video  
> capture libraries, which is expected, because they were never ported  
> by Apple to 64-bit architectures (OSX 10.6 uses 64-bit by default).
>
> My understanding is that OpenCV 2.1 uses the new Apple video capture  
> libraries, but that MacPorts has still not updated the portfile to  
> use the new version. Hopefully this will happen very soon.
>
> --Nick
>
>
> On May 16, 2010, at 4:04 PM, Dan Lazewatsky wrote:
>
>> I just upgraded to snow leopard and have been having trouble  
>> rosmaking
>> opencv. I've seen some discussions of this problem on various message
>> boards, but no solutions. Any ideas?
>>
>> $ rosmake vision_opencv
>> [ rosmake ] Packages requested are: ['vision_opencv']
>> [ rosmake ] Logging to directory
>> [ rosmake ] /Users/dlaz/.ros/rosmake/rosmake_output-20100516-175954
>> [ rosmake ] Expanded args ['vision_opencv'] to:
>> ['opencv_tests', 'opencv2', 'image_geometry', 'cv_bridge']
>> [ rosmake ] Checking rosdeps compliance for packages vision_opencv.
>> This may take a few seconds.
>> [ rosmake ] rosdep check passed all system dependencies in packages
>> [ rosmake ] Prebuilding rospack
>> [ rosmake ] Prebuilding gtest
>> [ rosmake ] Prebuilding genmsg_cpp
>> [ rosmake ] [ 2 of 23  Completed ]
>> [rosmake-0] >>> opencv2 >>> [ make ]
>> [ rosmake ] [ 2 of 23  Completed ]
>> [rosmake-1] >>> roslib >>> [ make ]
>> [ rosmake ] Last 40 lines
>> {-------------------------------------------------------------------------------
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:516: error: 'GetGWorldPixMap' was not declared  
>> in
>> this scope
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:517: error: 'LockPixels' was not declared in  
>> this
>> scope
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:518: error: 'GetPixBaseAddr' was not declared in
>> this scope
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:518: error: 'GetPixRowBytes' was not declared in
>> this scope
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:524: error: 'UnlockPixels' was not declared in
>> this scope
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp: At global scope:
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:557: error: 'SeqGrabComponent' does not name a  
>> type
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:558: error: 'SGChannel' does not name a type
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:561: error: 'ImageSequence' does not name a type
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp: In function 'CvCapture_QT_Cam*
>> icvCaptureFromCam_QT(int)':
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:591: error: 'EnterMovies' was not declared in
>> this scope
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp: At global scope:
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: 'SGChannel' was not declared in this
>> scope
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: expected primary-expression before
>> 'raw_data'
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: expected primary-expression before
>> 'long'
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: expected primary-expression before
>> 'long'
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: expected primary-expression before
>> 'long'
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: expected primary-expression before
>> ',' token
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: expected primary-expression before
>> 'short'
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: expected primary-expression before
>> 'long'
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: error: initializer expression list treated
>> as compound expression
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:855: error: expected ',' or ';' before '{' token
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:239: warning: 'int
>> icvClose_QT_Movie(CvCapture_QT_Movie*)' defined but not used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:262: warning: 'double
>> icvGetProperty_QT_Movie(CvCapture_QT_Movie*, int)' defined but not  
>> used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:329: warning: 'int
>> icvSetProperty_QT_Movie(CvCapture_QT_Movie*, int, double)' defined  
>> but
>> not used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:439: warning: 'int
>> icvGrabFrame_QT_Movie(CvCapture_QT_Movie*)' defined but not used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:482: warning: 'const void*
>> icvRetrieveFrame_QT_Movie(CvCapture_QT_Movie*, int)' defined but not
>> used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:99: warning: 'CvCapture_QT_Movie*
>> icvCaptureFromFile_QT(const char*)' defined but not used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:573: warning: 'int
>> icvOpenCamera_QT(CvCapture_QT_Cam*, int)' declared 'static' but never
>> defined
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:574: warning: 'int
>> icvClose_QT_Cam(CvCapture_QT_Cam*)' declared 'static' but never  
>> defined
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:610: warning: 'double
>> icvGetProperty_QT_Cam(CvCapture_QT_Cam*, int)' defined but not used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:617: warning: 'int
>> icvSetProperty_QT_Cam(CvCapture_QT_Cam*, int, double)' defined but  
>> not
>> used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:577: warning: 'int
>> icvGrabFrame_QT_Cam(CvCapture_QT_Cam*)' declared 'static' but never
>> defined
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:578: warning: 'const void*
>> icvRetrieveFrame_QT_Cam(CvCapture_QT_Cam*, int)' declared 'static'  
>> but
>> never defined
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:587: warning: 'CvCapture_QT_Cam*
>> icvCaptureFromCam_QT(int)' defined but not used
>> /Users/dlaz/ros/stacks/vision_opencv/opencv2/build/opencv-svn/src/
>> highgui/cvcap_qt.cpp:854: warning: 'icvDataProc_QT_Cam' defined but
>> not used
>> make[3]: *** [src/highgui/CMakeFiles/highgui.dir/cvcap_qt.o] Error 1
>> make[2]: *** [src/highgui/CMakeFiles/highgui.dir/all] Error 2
>> make[1]: *** [all] Error 2
>> -------------------------------------------------------------------------------}
>> [ rosmake ] Output from build of package opencv2 written to:
>> [ rosmake ]    /Users/dlaz/.ros/rosmake/ 
>> rosmake_output-20100516-175954/
>> opencv2/build_output.log
>> [rosmake-0] <<< opencv2 <<< [FAIL] [ 6.91 seconds ]
>> [ rosmake ] Halting due to failure in package opencv2.
>> [ rosmake ] Waiting for other threads to complete.
>> [rosmake-1] <<< roslib <<< [PASS] [ 2.75 seconds ]
>> [ rosmake ] All builds and tests did not pass cannot mark packages as
>> installed.
>> [ rosmake ] Summary output to directory
>> [ rosmake ] /Users/dlaz/.ros/rosmake/rosmake_output-20100516-175954
>>
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users




More information about the ros-users mailing list