[MacPorts] #20952: wxWidgets fails to build 64-bit

MacPorts noreply at macports.org
Fri Oct 2 15:21:07 PDT 2009


#20952: wxWidgets fails to build 64-bit
---------------------------------------+------------------------------------
 Reporter:  andrius.laikina@…          |       Owner:  mww@…           
     Type:  defect                     |      Status:  new             
 Priority:  Normal                     |   Milestone:                  
Component:  ports                      |     Version:                  
 Keywords:  LP64                       |        Port:  wxWidgets       
---------------------------------------+------------------------------------

Comment(by software@…):

 I did manage to compile wxWidgets today. There are three, possibly four,
 'bugs' to solve before it compiles. I'll list them here and include my
 Portfile and patch script. However, I had a busy day and did not have time
 to test it yet. If someone has that time, please do!

 Also, the settings probably only work for OS 10.5 and higher. If this
 portfile is to be used on other platforms as well, it will be necessary to
 make a variant for this specific Darwin version. I have not done that yet.

 I encountered the following bugs:

 Bug number 1:

 {{{
 ../src/osx/carbon/utils.cpp: In function 'void wxGetMousePosition(int*,
 int*)':
 ../src/osx/carbon/utils.cpp:161: error: 'GetGlobalMouse' was not declared
 in this scope
 }}}

 Problem: The osx_carbon GUI toolkit is selected. This ought to be the
 osx_cocoa GUI toolkit.

 or

 {{{
 ../include/wx/cocoa/cursor.h:42: error: default argument for parameter of
 type 'wxBitmapType' has type 'int'
 }}}

 Problem: The cocoa GUI toolkit is selected. This ought to be the osx_cocoa
 GUI toolkit.

 Some Carbon libraries are no longer available in 64-bit. You should use
 Cocoa instead.

 solution: change
 {{{  ./configure --with-mac
   ./configure --with-osx_carbon
   ./configure --with-carbon}}}
 or
 {{{  ./configure --with-cocoa}}}
 to:
 {{{  ./configure --with-osx_cocoa}}}


 Bug number 2:

 {{{
 wxWidgets/src/osx/core/printmac.cpp: In member function ‘virtual bool
 wxOSXPrintData::TransferFrom(const wxPrintData&)’:
 wxWidgets/src/osx/core/printmac.cpp:142: error: ‘PMPaperCreate’ was not
 declared in this scope"
 }}}

 This is a PMPaperCreate() is a deprecated function since Mac OS 10.5.
 PMPrinterGetPaperList() should be used instead. There are two solutions:
 either install XCode 3.2 with Tiger (10.4) support enabled, or compile
 wxWdigets without 10.4 support:
 {{{  ./configure --with-macosx-version-min=10.5}}}

 See http://trac.wxwidgets.org/ticket/11183


 Bug number 3:

 {{{
 wxWidgets/src/osx/cocoa/textctrl.mm: In function 'void
 -[wxNSTextFieldEditor keyDown:](wxNSTextFieldEditor*, _message_ref_t*,
 NSEvent*)':
 wxWidgets/src/osx/cocoa/textctrl.mm:144: error: no matching function for
 call to 'wxWidgetImpl::FindFromWXWidget(objc_object*)'
 }}}

 This is a bug in src/osx/cocoa/textctrl.mm, which was later fixed in
 subversion, and will be fixed in 2.9.1.
 See src/osx/cocoa/textctrl.mm

 solution: see attached patch
 http://groups.google.com/group/wx-
 dev/browse_thread/thread/8af9dd06f1a1a867
 and http://svn.wxwidgets.org/viewvc/wx?view=rev&revision=61383


 Bug number 4:

 {{{
 ld: warning: in /System/Library/Frameworks//QuickTime.framework/QuickTime,
 missing required architecture x86_64 in file
 }}}

 This is due to the settings in the configure script. The QuickTime library
 is included is (($USE_MAC and $USE_DARWIN) or $USE_COCOA) are set.
 If ./configure is called with --with-osx_cocoa, it seems that USE_MAC and
 USE_DARWIN are set, while USE_COCOA is not set.
 This is utterly confusing, and since it is "only" a warning, I did not
 look further in this matter.

-- 
Ticket URL: <http://trac.macports.org/ticket/20952#comment:16>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list