Well,
I had a few bits of time and squeezed in a couple of attempts to recompile
GRASS for Mac OSX PPC.
In the end, I reverted to Lorenzo Moretti's libraries and the configure
script that had worked before with them.
GRASS compiles, but has errors in d.path, d.vect, and v.digit (these are new
since my last attempt at compiling last week). It also has errors in reading
the makefile for gism and dm (these have occurred every time and refer to a
problem with the last line of make for these 2 modules). I'll put the errors
I get when trying to recompile each of the offending modules below.
But first I want to report on the results. GRASS starts and seems to work
fine. But...
rasters won't display in the TclTk canvas. Vectors will display, but rasters
won't. They are present (I can test with r.what), but you can't see them.
I'm pretty sure that it has to do with transparency, mask, or the like in
the PNG driver. Have there been any very recent changes that might affect
this?
NVIZ is still broken, even in the x11 version (which is what I compiled).
v.digit has the reported bugs--which it doesn't have when runing Lorenzo's
10 June binaries on my laptop.
Here are the compilation errors. I've rerun make for each module that
reported an error and list the results below. I have no idea what's wrong.
The frustrating thing is that it has gotten progressively worse each time I
update and compile over the past 2 weeks--and I've tried make clean's. Any
suggestion would be welcome. If I'm the only one with a problem, then
hopefully someone can help sort it out. But I'm worried that others might be
having similar issues with the current cvs version for Mac.
Michael
GRASS GIS compilation log
-------------------------
Started compilation: Tue Jul 25 12:52:38 MST 2006
--
Errors in:
/Users/cmbarton/grass_dev/grass6/display/d.path
/Users/cmbarton/grass_dev/grass6/display/d.vect
/Users/cmbarton/grass_dev/grass6/gui/tcltk/d.m
/Users/cmbarton/grass_dev/grass6/gui/tcltk/gis.m
/Users/cmbarton/grass_dev/grass6/vector/v.digit
--
D.PATH
anthgradpc7:~/grass_dev/grass6/display cmbarton$ cd d.path
anthgradpc7:~/grass_dev/grass6/display/d.path cmbarton$ make
gcc -L/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib
-L/usr/local/grasslib/lib -L/usr/local/pgsql/lib
-I/usr/local/grasslib/include -DPACKAGE=\""grassmods"\" -o
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin/d.path
OBJ.powerpc-apple-darwin8.7.0/main.o OBJ.powerpc-apple-darwin8.7.0/select.o
-lgrass_display -lgrass_raster -lgrass_vect -lgrass_dig2 -lgrass_dgl
-lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase
-L/usr/local/grasslib/lib -lgdal -lgrass_dgl -lgrass_dbmiclient
-lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lintl -lz
/usr/bin/ld: warning prebinding disabled because dependent library:
/Applications/Grass/grass61cvs.app/Contents/Resources/grass-6.1.cvs/lib/libg
rass_display.dylib is not prebound
/usr/bin/ld: multiple definitions of symbol _trans
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_raster.dylib(com_io.o) definition of _trans
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_gis.dylib(icon.o) definition of _trans
collect2: ld returned 1 exit status
make: ***
[/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin/d.path]
Error 1
D.VECT
anthgradpc7:~/grass_dev/grass6/display cmbarton$ cd d.vect
anthgradpc7:~/grass_dev/grass6/display/d.vect cmbarton$ make
gcc -L/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib
-L/usr/local/grasslib/lib -L/usr/local/pgsql/lib
-I/usr/local/grasslib/include -DPACKAGE=\""grassmods"\" -o
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin/d.vect
OBJ.powerpc-apple-darwin8.7.0/area.o OBJ.powerpc-apple-darwin8.7.0/attr.o
OBJ.powerpc-apple-darwin8.7.0/dir.o OBJ.powerpc-apple-darwin8.7.0/label.o
OBJ.powerpc-apple-darwin8.7.0/main.o OBJ.powerpc-apple-darwin8.7.0/plot1.o
OBJ.powerpc-apple-darwin8.7.0/topo.o OBJ.powerpc-apple-darwin8.7.0/zcoor.o
-lgrass_display -lgrass_raster -lgrass_vect -lgrass_dig2 -lgrass_dgl
-lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase
-L/usr/local/grasslib/lib -lgdal -lgrass_dbmiclient -lgrass_dbmibase
-lgrass_gis -lgrass_datetime -lz -lintl -lgrass_symb -lz
/usr/bin/ld: warning prebinding disabled because dependent library:
/Applications/Grass/grass61cvs.app/Contents/Resources/grass-6.1.cvs/lib/libg
rass_display.dylib is not prebound
/usr/bin/ld: multiple definitions of symbol _trans
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_gis.dylib(icon.o) definition of _trans
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_raster.dylib(com_io.o) definition of _trans
/usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may
result in errors or different symbols being used
symbol _trans used from dynamic library
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_gis.dylib(icon.o) not from earlier dynamic library
/Applications/Grass/grass61cvs.app/Contents/Resources/grass-6.1.cvs/lib/libg
rass_raster.dylib(com_io.o)
collect2: ld returned 1 exit status
make: ***
[/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin/d.vect]
Error 1
V.DIGIT
anthgradpc7:~/grass_dev/grass6/vector cmbarton$ cd v.digit
anthgradpc7:~/grass_dev/grass6/vector/v.digit cmbarton$ make
gcc -L/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib
-L/usr/local/grasslib/lib -L/usr/local/pgsql/lib -I/usr/X11R6/include
-I/usr/local/grasslib/include -I/usr/local/grasslib/include
-I/usr/local/grasslib/include -DPACKAGE=\""grassmods"\" -o
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin/v.digit
OBJ.powerpc-apple-darwin8.7.0/attr.o
OBJ.powerpc-apple-darwin8.7.0/background.o
OBJ.powerpc-apple-darwin8.7.0/c_face.o OBJ.powerpc-apple-darwin8.7.0/cat.o
OBJ.powerpc-apple-darwin8.7.0/centre.o
OBJ.powerpc-apple-darwin8.7.0/display.o
OBJ.powerpc-apple-darwin8.7.0/driver.o
OBJ.powerpc-apple-darwin8.7.0/i_face.o OBJ.powerpc-apple-darwin8.7.0/line.o
OBJ.powerpc-apple-darwin8.7.0/main.o OBJ.powerpc-apple-darwin8.7.0/symb.o
OBJ.powerpc-apple-darwin8.7.0/util.o OBJ.powerpc-apple-darwin8.7.0/var.o
OBJ.powerpc-apple-darwin8.7.0/vertex.o OBJ.powerpc-apple-darwin8.7.0/zoom.o
-lgrass_D -lgrass_display -lgrass_raster -lgrass_vect -lgrass_dig2
-lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase
-L/usr/local/grasslib/lib -lgdal -lgrass_form -lgrass_gis -lgrass_datetime
-lz -lintl -L/usr/local/grasslib/lib -ltk8.4 -ltcl8.4 -lz
/usr/bin/ld: warning prebinding disabled because dependent library:
/Applications/Grass/grass61cvs.app/Contents/Resources/grass-6.1.cvs/lib/libg
rass_D.dylib is not prebound
/usr/bin/ld: multiple definitions of symbol _trans
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_gis.dylib(icon.o) definition of _trans
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_raster.dylib(com_io.o) definition of _trans
/usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may
result in errors or different symbols being used
symbol _trans used from dynamic library
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/lib/libgrass
_gis.dylib(icon.o) not from earlier dynamic library
/Applications/Grass/grass61cvs.app/Contents/Resources/grass-6.1.cvs/lib/libg
rass_raster.dylib(com_io.o)
collect2: ld returned 1 exit status
make: ***
[/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin/v.digit
] Error 1
GIS.M
anthgradpc7:~/grass_dev/grass6/gui/tcltk cmbarton$ cd gis.m
anthgradpc7:~/grass_dev/grass6/gui/tcltk/gis.m cmbarton$ make
GISRC=/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/demolo
cation/.grassrc61
GISBASE=/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0
PATH=/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin:$PA
TH
DYLD_LIBRARY_PATH="/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwi
n8.7.0/lib:"
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/scripts/gis.
m --html-description | grep -v '</body>\|</html>' > gis.m.tmp.html ; true
mkdir -p
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/docs/html
mv -f gis.m.tmp.html
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/docs/html/gi
s.m.html
for file in *.png *.jpg ; do \
head -n 1 $file | grep '^#!' > /dev/null ; \
if [ $? -ne 0 ] ; then \
/usr/bin/install -c -m 644 $file
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/docs/html ;
\
fi \
done 2> /dev/null ; true
if [ ! -d
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/scripts ] ;
then mkdir -p
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/scripts; fi
/usr/bin/install -c -m 755 gis.m
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/scripts
if [ ! -d
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/etc/gm ] ;
then mkdir -p
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/etc/gm; fi
if [ ! -d
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/etc/gm/scrip
t/ ] ; then mkdir -p
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/etc/gm/scrip
t/ ; fi
/usr/bin/install -c -m 755 *.tcl
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/etc/gm
/usr/bin/install -c -m 644 *.gif
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/etc/gm
/usr/bin/install -c -m 755 script/*.*
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/etc/gm/scrip
t
install: script/CVS.sandboxinfo: Inappropriate file type or format
make: *** [default] Error 71
D.M
anthgradpc7:~/grass_dev/grass6/gui/tcltk cmbarton$ cd d.m
anthgradpc7:~/grass_dev/grass6/gui/tcltk/d.m cmbarton$ make
GISRC=/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/demolo
cation/.grassrc61
GISBASE=/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0
PATH=/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/bin:$PA
TH
DYLD_LIBRARY_PATH="/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwi
n8.7.0/lib:"
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/scripts/d.m
--html-description | grep -v '</body>\|</html>' > d.m.tmp.html ; true
mkdir -p
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/docs/html
mv -f d.m.tmp.html
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/docs/html/d.
m.html
for file in *.png *.jpg ; do \
head -n 1 $file | grep '^#!' > /dev/null ; \
if [ $? -ne 0 ] ; then \
/usr/bin/install -c -m 644 $file
/Users/cmbarton/grass_dev/grass6/dist.powerpc-apple-darwin8.7.0/docs/html ;
\
fi \
done 2> /dev/null ; true
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University
phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton
From: William Kyngesburye <woklist@kyngchaos.com>
Reply-To: William Kyngesburye <kyngchaos@kyngchaos.com>
Date: Sun, 23 Jul 2006 13:00:52 -0500
To: Michael Barton <michael.barton@asu.edu>, <grass-bugs@intevation.de>
Cc: <grass-dev@grass.itc.it>
Subject: Re: [bug #4768] (grass) nviz segfault on startup when
On Jul 23, 2006, at 12:33 PM, Michael Barton via RT wrote:
William,
This is great news.
Could you send me the details of how you set this up and configured it
(including your list of configure flags) so that I can duplicate
it? I won't
be able to do it until at least Tuesday or maybe Wednesday, so
there is no
hurry. But I'd like to try it to see if I can do it too.
Actually, simple standard stuff for configuration. In addition to
setting includes/libs options for the various graphics, GIS and DB
libraries, these are the important settings:
--with-tcltk-includes=/usr/local/grasslibs/include \
--with-tcltk-libs=/usr/local/grasslibs/lib \
--with-x --without-motif --without-glw --with-opengl=x11
I suppose with an X11-only build like this, you could add motif and
glw. This example assumes an X11 tcltk build in /usr/local/
grasslibs, which is where I installed mine. I think Lorenzo uses
'grasslib', without the plural, so you could try his tcltk. Or build
your own wherever you like, but I suggest an isolated location like
this so other alternate builds of GRASS (ie Aqua) don't get
confused. ie, if you build the X11 tcltk in /usr/X11R6, an Aqua
build of GRASS that includes X11 support might pick up the X11 tcltk
at link time, not the Aqua version.
Which brings me to the key here with TclTk - I think the X11 NVIZ
crash is because of GRASS getting accidentally linked to Apple's Aqua
TclTk (which is quite old BTW, 8.4.7) instead of the intended X11
TclTk. I guess one thing to do is make sure you use --with-tcltk-
libs=. And in my case, I had a broken X11 TclTk install, so even
then it didn't link to it until I fixed it. If a -L/usr/lib gets
somehow inserted in the link step before -L/path/to/your/X11/tcltk/
lib, that could cause it to grab Apple's TclTk.
A way to check if it linked right is to use otool:
$ otool -L /usr/local/grass-6.1.cvs/bin/nviz
(or you can check the nviz binary in the grass source/dist/bin before
make install)
This will list all the library paths nviz needs. Make sure tcl and
tk libs have the right paths. Fixing it is another matter, but
hopefully it will be right the first time.
-----
William Kyngesburye <kyngchaos@kyngchaos.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