I updated the makefile to strip 64bit flags on OSX. But I found another problem: it uses WXWIDGETSLIB for linking (it's only wxwidgets, not wxpython), and it includes universal flags, independently of however GRASS is configured.

I've been compiling GRASS 7 with -arch i386 -arch x86_64, skipping PPC, and I'm sure many people will just opt for a "native" build (i386 or ppc). So, the sources compile i386 (stripped of x86_64), but then tries to link i386 + ppc because of WXWIDGETSLIB.

Nothing I can do about this, it's really a wxwidgets config bug. arch flags should not be a part of link flags, and the arch flags don't even appear in WXWIDGETSCXXFLAGS or WXWIDGETSCPPFLAGS where they should be.

The workaround is to make sure to configure GRASS universal.

WXWIDGETSLIB doesn't affect the wxpython modules, nviz and vdigit, wince they use a setup.py (where I have WXWIDGETSLIB ignored for OSX, though I'm not sure this is the right way).

Maybe I can strip the arch flags out of WXWIDGETSLIB...

On Jul 20, 2009, at 4:09 PM, Michael Barton wrote:

I just successfully compiled GRASS 7 (minus xgamin) on my Mac.

Michael
______________________________
C. Michael Barton, Professor of Anthropology
Director of Graduate Studies, School of Human Evolution & Social Change
Director, Center for Social Dynamics & Complexity
Arizona State University
Tempe, AZ  85287-2402
USA

voice: 480-965-6262; fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

On Jul 20, 2009, at 12:13 PM, William Kyngesburye wrote:

I believe it needs 64bit flag stripping for OSX, like wxnviz and
vdigit.  I'll have time to look at this later.

On Jul 20, 2009, at 2:02 PM, Michael Barton wrote:

If those are fixed, the only remaining error would be in xgamin.
Here is the error in more detail from the xgamin directory.

"wxWindow::MacGetLeftBorderSize() const", referenced from:
   vtable for wxStaticTextBasein gui.o
   vtable for wxBitmapButtonBasein gui.o
   vtable for wxButtonBasein gui.o
   vtable for MyCanvasin gui.o
   vtable for MyFramein gui.o
"wxAppBase::~wxAppBase()", referenced from:
   wxApp::~wxApp()in main.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/AK/AKpYwDw1EoWI+fFF02nvRk ++
+TI/-Tmp-//ccaDRR0t.out (No such file or directory)
make: *** [/Users/cmbarton/grass_dev/grass7_src/dist.i386-apple-
darwin9.7.0/bin/xganim] Error 1

Michael

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

First Pogril: Why is life like sticking your head in a bucket filled
with hyena offal?
Second Pogril: I don't know. Why IS life like sticking your head in a
bucket filled with hyena offal?
First Pogril: I don't know either.  Wretched, isn't it?

-HitchHiker's Guide to the Galaxy



_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

All generalizations are dangerous, even this one.


_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to