Building on Mac OS X: Which wxWidgets Version?

Phil Underwood phil at furbrain.org.uk
Wed Feb 4 05:22:49 GMT 2009


The relevant lines are these:

gfxcore.h:48: error: redefinition of 'class Point'
/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
error: previous definition of 'class Point'

This is not a wxWidgets problem, but rather a conflict between aven defining
a class called Point, and the Mac graphics library also having a class
called Point.

Probably the simplest way to solve this would be to replace all instances of
Point in aven with AvenPoint (or some such similar). Unfortunately a simple
replace will also nobble references to PointInfo and wxPoint. The word Point
is also used in one text string

Phil

2009/2/4 David A. Riggs <david.a.riggs at gmail.com>

> I'm attempting to do a native build of Survex (survex-1_1 branch from
> SVN) on Mac OS X 10.5.6, and have run into compilation problems, which
> I suspect are due to an incompatible version of wxWidgets.
>
> I've compiled wxMac 2.8.9 (--with-opengl --disable-shared) and am
> compiling survex with `make WXCONFIG=~/blah/wx-config` and receive the
> following fatal errors:
>
> ### Begin compilation output ###
> ...
> g++ -DHAVE_CONFIG_H -I. -I.. -DIMG_HOSTED
>
> -I/Users/driggs/workspace/wxMac-2.8.9/osx-build/lib/wx/include/mac-ansi-release-static-2.8
> -I/Users/driggs/workspace/wxMac-2.8.9/include
> -I/Users/driggs/workspace/wxMac-2.8.9/contrib/include
> -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -Wall -Wunused
> -Wshadow -Wpointer-arith      -Wwrite-strings -Wcast-align -g -O2 -MT
> aven-aven.o -MD -MP -MF .deps/aven-aven.Tpo -c -o aven-aven.o `test -f
> 'aven.cc' || echo './'`aven.cc
> /Users/driggs/workspace/wxMac-2.8.9/include/wx/mac/carbon/glcanvas.h:49:
> warning: 'AGLDrawable' is deprecated (declared at
> /System/Library/Frameworks/AGL.framework/Headers/agl.h:61)
> /Users/driggs/workspace/wxMac-2.8.9/include/wx/mac/carbon/glcanvas.h:53:
> warning: 'AGLDrawable' is deprecated (declared at
> /System/Library/Frameworks/AGL.framework/Headers/agl.h:61)
> gfxcore.h:48: error: redefinition of 'class Point'
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> error: previous definition of 'class Point'
> gfxcore.h: In constructor 'PresentationMark::PresentationMark(const
> Vector3&, Double, Double, Double, Double)':
> gfxcore.h:74: warning: declaration of 'v' shadows a member of 'this'
> gfxcore.h:75: error: no matching function for call to
> 'Point::Point(const Vector3&)'
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note: candidates are: Point::Point()
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note:                 Point::Point(const Point&)
> gfxcore.h: In member function 'bool GfxCore::HereIsReal() const':
> gfxcore.h:323: error: 'const class Point' has no member named 'IsValid'
> mainfrm.h: In constructor 'PointInfo::PointInfo(const img_point&)':
> mainfrm.h:142: error: no matching function for call to
> 'Point::Point(const img_point&)'
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note: candidates are: Point::Point()
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note:                 Point::Point(const Point&)
> mainfrm.h: In constructor 'PointInfo::PointInfo(const img_point&, time_t)':
> mainfrm.h:143: error: no matching function for call to
> 'Point::Point(const img_point&)'
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note: candidates are: Point::Point()
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note:                 Point::Point(const Point&)
> mainfrm.h: In constructor 'LabelInfo::LabelInfo(const img_point&,
> const wxString&, int)':
> mainfrm.h:182: error: no matching function for call to
> 'Point::Point(const img_point&)'
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note: candidates are: Point::Point()
>
> /System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:497:
> note:                 Point::Point(const Point&)
> make[3]: *** [aven-aven.o] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> ### End compilation output ###
>
> I suspect that I probably need to use an older version of wxWidgets
> with Survex, is this the case? Is there an "officially supported"
> wxWidgets version? Has ANYONE successfully done a "recent" OS X build
> of Survex? I've seen two requests for Mac binaries to the mailing list
> go unanswered over the past 12 months.
>
> I'm neither a Mac nor a C++ guru, but am determined to get Survex
> running on this Mac.
>
> - DR
>
> --
> David A. Riggs <david.a.riggs at gmail.com>
>
> --
> Survex http://lists.survex.com/mailman/listinfo/survex
>


More information about the Survex mailing list