Building fails on Mac OS 10.4 (Tiger) due to calling 10.5-only stuff in highgui (Bug #211)


Added by Vincent Leduc almost 15 years ago. Updated over 12 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:- % Done:

0%

Category:highgui-gui
Target version:-
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

Used to be able to build from svn using cmake on Mac OS 10.4 (Tiger) on ppc, but now get error as highgui is calling some 10.5 (Leopard)-only stuff. I only need to use GTK, so maybe add a WITH_COCOA ON/OFF option in cmake ? Don't know if that would work.

Compiler version : Apple gcc 4.2
OpenCV version : 2.1.0 revision 2875

[ 73%] Building CXX object src/highgui/CMakeFiles/highgui.dir/grfmt_tiff.o
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:57: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:69: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:70: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:71: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:72: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:73: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:74: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:83: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:84: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:85: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:86: warning: Mac OS X version 10.5 or later is needed for use of property
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm: In function 'int cvInitSystem(int, char**)':
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:111: error: 'NSAppKitVersionNumber10_5' was not declared in this scope
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:112: warning: 'NSApplication' may not respond to '-setActivationPolicy:'
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:112: warning: (Messages without a matching method signature
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:112: warning: will be assumed to return 'id' and accept
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:112: warning: '...' as arguments.)
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm: In function 'void cvDestroyAllWindows()':
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:142: warning: Mac OS X version 10.5 or later is needed for use of foreach-collection-statement
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:142: warning: 'NSMutableDictionary' may not respond to '-countByEnumeratingWithState:objects:count:'
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm: In function 'const char* cvGetWindowName(void*)':
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:325: warning: Mac OS X version 10.5 or later is needed for use of foreach-collection-statement
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:325: warning: 'NSMutableDictionary' may not respond to '-countByEnumeratingWithState:objects:count:'
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm: In function 'int cvWaitKey(int)':
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:390: warning: 'NSThread' may not respond to '+sleepForTimeInterval:'
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm: In function 'void -[CVWindow cvSendMouseEvent:type:flags:](CVWindow*, objc_selector*, NSEvent*, int, int)':
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:411: warning: Mac OS X version 10.5 or later is needed for use of foreach-collection-statement
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:411: warning: 'NSMutableDictionary' may not respond to '-countByEnumeratingWithState:objects:count:'
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm: In function 'void -[CVView setFrameSize:](CVView*, objc_selector*, NSSize)':
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:569: warning: Mac OS X version 10.5 or later is needed for use of foreach-collection-statement
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:569: warning: 'NSMutableDictionary' may not respond to '-countByEnumeratingWithState:objects:count:'
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm: In function 'void -[CVView drawRect:](CVView*, objc_selector*, NSRect)':
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:581: warning: Mac OS X version 10.5 or later is needed for use of foreach-collection-statement
/Users/hmrmicrobiologie/opencv/src/highgui/window_cocoa.mm:581: warning: 'NSMutableDictionary' may not respond to '-countByEnumeratingWithState:objects:count:'
maker2: *** [src/highgui/CMakeFiles/highgui.dir/window_cocoa.o] Error 1
maker2: *** Waiting for unfinished jobs....
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm: In member function 'int [[CvCaptureCAM]]::startCaptureDevice(int)':
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm:382: error: 'kCVPixelFormatType_32BGRA' was not declared in this scope
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm:387: error: 'kCVPixelFormatType_32BGRA' was not declared in this scope
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm: In member function 'void [[CvCaptureCAM]]::setWidthHeight()':
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm:421: error: 'kCVPixelFormatType_32BGRA' was not declared in this scope
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm: In constructor 'CvVideoWriter_QT::CvVideoWriter_QT(const char*, int, double, [[CvSize]], int)':
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm:938: warning: 'NSFileManager' may not respond to '-removeItemAtPath:error:'
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm:938: warning: (Messages without a matching method signature
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm:938: warning: will be assumed to return 'id' and accept
/Users/hmrmicrobiologie/opencv/src/highgui/cvcap_qt.mm:938: warning: '...' as arguments.)
maker2: *** [src/highgui/CMakeFiles/highgui.dir/cvcap_qt.o] Error 1
maker1: *** [src/highgui/CMakeFiles/highgui.dir/all] Error 2
make: *** [all] Error 2

I have this set in cmake :

 BUILD_EXAMPLES                   ON                                                                                                                                                                                                                                               
 BUILD_LATEX_DOCS                 ON                                                                                                                                                                                                                                               
 BUILD_NEW_PYTHON_SUPPORT         OFF                                                                                                                                                                                                                                              
 BUILD_OCTAVE_SUPPORT             OFF                                                                                                                                                                                                                                              
 BUILD_PACKAGE                    OFF                                                                                                                                                                                                                                              
 BUILD_SHARED_LIBS                ON                                                                                                                                                                                                                                               
 BUILD_SWIG_PYTHON_SUPPORT        OFF                                                                                                                                                                                                                                              
 BUILD_TESTS                      ON                                                                                                                                                                                                                                               
 CMAKE_BACKWARDS_COMPATIBILITY    2.4                                                                                                                                                                                                                                              
 CMAKE_BUILD_TYPE                 Debug                                                                                                                                                                                                                                            
 CMAKE_CONFIGURATION_TYPES        Debug;Release                                                                                                                                                                                                                                    
 CMAKE_INSTALL_PREFIX             /usr/local                                                                                                                                                                                                                                       
 CMAKE_OSX_ARCHITECTURES          ppc                                                                                                                                                                                                                                              
 CMAKE_OSX_DEPLOYMENT_TARGET      10.4                                                                                                                                                                                                                                             
 CMAKE_OSX_SYSROOT                /Developer/SDKs/MacOSX10.4u.sdk                                                                                                                                                                                                                  
 ENABLE_OPENMP                    OFF                                                                                                                                                                                                                                              
 ENABLE_POWERPC                   ON                                                                                                                                                                                                                                               
 ENABLE_PROFILING                 OFF                                                                                                                                                                                                                                              
 EXECUTABLE_OUTPUT_PATH           /Users/hmrmicrobiologie/opencv/opencv-svn-debug-42/bin                                                                                                                                                                                           
 INSTALL_C_EXAMPLES               OFF                                                                                                                                                                                                                                              
 INSTALL_OCTAVE_EXAMPLES          OFF                                                                                                                                                                                                                                              
 INSTALL_PYTHON_EXAMPLES          OFF                                                                                                                                                                                                                                              
 IPP_PATH                         IPP_PATH-NOTFOUND                                                                                                                                                                                                                                
 LIBRARY_OUTPUT_PATH              /Users/hmrmicrobiologie/opencv/opencv-svn-debug-42/lib                                                                                                                                                                                           
 OPENCV_BUILD_3RDPARTY_LIBS       ON                                                                                                                                                                                                                                               
 OPENCV_CONFIG_FILE_INCLUDE_DIR   /Users/hmrmicrobiologie/opencv/opencv-svn-debug-42                                                                                                                                                                                               
 OPENCV_EXTRA_C_FLAGS                                                                                                                                                                                                                                                              
 OPENCV_EXTRA_C_FLAGS_DEBUG                                                                                                                                                                                                                                                        
 OPENCV_EXTRA_C_FLAGS_RELEASE                                                                                                                                                                                                                                                      
 OPENCV_EXTRA_EXE_LINKER_FLAGS                                                                                                                                                                                                                                                     
 OPENCV_EXTRA_EXE_LINKER_FLAGS_                                                                                                                                                                                                                                                    
 OPENCV_EXTRA_EXE_LINKER_FLAGS_                                                                                                                                                                                                                                                    
 OPENCV_WARNINGS_ARE_ERRORS       OFF                                                                                                                                                                                                                                              
 OPENCV_WHOLE_PROGRAM_OPTIMIZAT   OFF                                                                                                                                                                                                                                              
 PVAPI_INCLUDE_PATH               PVAPI_INCLUDE_PATH-NOTFOUND                                                                                                                                                                                                                      
 USE_IPP                          OFF                                                                                                                                                                                                                                              
 USE_O3                           ON                                                                                                                                                                                                                                               
 USE_OMIT_FRAME_POINTER           ON                                                                                                                                                                                                                                               
 USE_POWERPC                      ON                                                                                                                                                                                                                                               
 WITH_1394                        OFF                                                                                                                                                                                                                                              
 WITH_FFMPEG                      OFF                                                                                                                                                                                                                                              
 WITH_GSTREAMER                   OFF                                                                                                                                                                                                                                              
 WITH_GTK                         ON                                                                                                                                                                                                                                               
 WITH_JASPER                      ON                                                                                                                                                                                                                                               
 WITH_JPEG                        ON                                                                                                                                                                                                                                               
 WITH_PNG                         ON                                                                                                                                                                                                                                               
 WITH_PVAPI                       OFF                                                                                                                                                                                                                                              
 WITH_TBB                         OFF                                                                                                                                                                                                                                              
 WITH_TIFF                        OFF                                                                                                                                                                                                                                              
 WITH_UNICAP                      OFF                                                                                                                                                                                                                                              
 WITH_V4L                         OFF                                                                                                                                                                                                                                              
 WITH_XINE                        OFF


Associated revisions

Revision 1821d21f
Added by Andrey Kamaev over 12 years ago

Prevent imread from illegal memory access (Bug #2602)

The change is based on pull request #211.

Revision 80db0a92
Added by Vadim Pisarevsky over 10 years ago

Merge pull request #211 from akarsakov:fix_cvtcolor_luv_rgb_master

History

Updated by Vincent Leduc almost 15 years ago

  • Status changed from Open to Done
  • (deleted custom field) set to invalid

Updated by Vincent Leduc almost 15 years ago

Reason for previous error was in cvcap_qt.mm. Commented the offending lines and got past that. However, it still won't build on Tiger :

Linking CXX shared library ../../lib/libhighgui.dylib
/usr/libexec/gcc/powerpc-apple-darwin8/4.2.1/ld: Undefined symbols:
_objc_enumerationMutation
collect2: ld returned 1 exit status
maker2: *** [lib/libhighgui.2.1.0.dylib] Error 1
maker1: *** [src/highgui/CMakeFiles/highgui.dir/all] Error 2
make: *** [all] Error 2

A quick google tells me this error is in fact related to Cocoa/Carbon incompatibilities.

To maintain compatibility, maybe use something like a cmake toggle between Cocoa and Carbon like the one André Cohen has here ?

  • Status changed from Done to Cancelled
  • (deleted custom field) deleted (invalid)

Updated by anonymous - almost 15 years ago

since r2924 you can select "WITH_CARBON" and "WITH_QUICKTIME" options in CMake, so that highgui will use older API. Hopefully, it will solve the problem. If not, please, reopen the ticket and provide the details.

  • Status changed from Cancelled to Done
  • (deleted custom field) set to fixed

Updated by Vincent Leduc almost 15 years ago

Works like a charm. Thank you.

Updated by Andrey Kamaev over 12 years ago

  • Category changed from highgui-images to highgui-gui

Also available in: Atom PDF