[GRASS-dev] 64 bit compiling of GRASS 7 on Mac -
/lib/vector/diglib fails
William Kyngesburye
woklist at kyngchaos.com
Tue Jan 13 22:56:24 EST 2009
On Jan 13, 2009, at 9:34 PM, Michael Barton wrote:
> I tried again to compile GRASSS 7 in 64 bit mode on the Mac. Thanks
> to various fixes of the past few weeks, I had only one error and was
> able to make a functioning app. Here is the error. If it can be
> fixed, then we can run GRASS in 64 bit on the Mac (without nviz of
> course).
>
Well, the problem I had when I last tried 64bits wasn't the
compilation, but at runtime. Some of the vector modules would crash,
and the closest I could track it down was (I think) somewhere in the
diglib... And as I write this it connects in my brain that your
compilation error is in diglib...
> Finished compilation: Tue Jan 13 18:15:15 MST 2009
> make: *** [default] Error 1
> cmb-MBP-2:grass7_src cmbarton$ cd /Users/cmbarton/grass_dev/
> grass7_src/lib/vector/diglib
> cmb-MBP-2:diglib cmbarton$ make
> if [ "" != "" -a -f "".html ] ; then make html ; fi
> make OBJ.i386-apple-darwin9.6.0/test
> echo "==============TEST============="
> ==============TEST=============
> gcc -L/Users/cmbarton/grass_dev/grass7_src/dist.i386-apple-
> darwin9.6.0/lib -arch i386 -arch i386 -Os -arch i386 -arch i386 -
> Os -arch i386 -arch x86_64 -Os -I/Library/Frameworks/
> GDAL.framework/Versions/1.6/Headers -I/Users/cmbarton/grass_dev/
> grass7_src/dist.i386-apple-darwin9.6.0/include -o OBJ.i386-apple-
> darwin9.6.0/test test.c -lgrass_dig2 -lgrass_gis -lgrass_datetime -
> lz -lgrass_rtree -lgrass_rtree \
> -lgrass_gis -lgrass_datetime -lz -lgrass_datetime -lz
> ld warning: in /Users/cmbarton/grass_dev/grass7_src/dist.i386-apple-
> darwin9.6.0/lib/libgrass_dig2.dylib, file is not of required
> architecture
> ld warning: in /Users/cmbarton/grass_dev/grass7_src/dist.i386-apple-
> darwin9.6.0/lib/libgrass_gis.dylib, file is not of required
> architecture
> ld warning: in /Users/cmbarton/grass_dev/grass7_src/dist.i386-apple-
> darwin9.6.0/lib/libgrass_datetime.dylib, file is not of required
> architecture
> ld warning: in /Users/cmbarton/grass_dev/grass7_src/dist.i386-apple-
> darwin9.6.0/lib/libgrass_rtree.dylib, file is not of required
> architecture
> Undefined symbols for architecture x86_64:
> "_dig_fflush", referenced from:
...
It looks like the error was really back in those 4 libraries - they
didn't compile with x86_64 for some reason.
Try make clean in those folders and make again, and check that -arch
x86_64 is in all compile commands and the final link command.
I'll give it a try myself...
-----
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
More information about the grass-dev
mailing list