Hi,
Something changed since 8 February in the make files for Mac that is causing compiling GRASS 6.5 to fail in several places. It has to do with TclTk.
I get the following errors and all seem to be related to the same thing.
Errors in:
/Users/cmbarton/grass_dev/grass6_src/lib/form
/Users/cmbarton/grass_dev/grass6_src/db/drivers/ogr
/Users/cmbarton/grass_dev/grass6_src/raster/r.watershed/front
/Users/cmbarton/grass_dev/grass6_src/vector/v.digit
/Users/cmbarton/grass_dev/grass6_src/visualization/nviz
For ../lib/form, the detailed error is...
cmb-MBP-2:grass6_src cmbarton$ cd /Users/cmbarton/grass_dev/grass6_src/lib/form
cmb-MBP-2:form cmbarton$ make
gcc -L/Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/lib -arch i386 -Os -arch i386 -Os -o /Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/etc/form/form OBJ.i386-apple-darwin9.6.0/form.o -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz -lgrass_datetime \
TCLTKLIBS = -framework Tcl -framework Tk -lz
i686-apple-darwin9-gcc-4.0.1: TCLTKLIBS: No such file or directory
i686-apple-darwin9-gcc-4.0.1: =: No such file or directory
make: *** [/Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/etc/form/form] Error 1
Other modules give similar detailed errors, referring to TCLTKLIBS
In order to compile GRASS for TclTk aqua 8.5, I have to manually change platform make to have the line ...
TCLTKLIBS = -framework Tcl -framework Tk
Somehow this line is now causing problems.
(I know that William has a symlink to aqua TclTk, but I cannot do this because it makes R-Commander fail. I need the x11 version there).
So is there a new procedure? Is this a bug?
Thanks
Michael
On Feb 25, 2009, at 5:29 PM, Michael Barton wrote:
cmb-MBP-2:grass6_src cmbarton$ cd /Users/cmbarton/grass_dev/grass6_src/lib/form
cmb-MBP-2:form cmbarton$ make
gcc -L/Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/lib -arch i386 -Os -arch i386 -Os -o /Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/etc/form/form OBJ.i386-apple-darwin9.6.0/form.o -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz -lgrass_datetime \
TCLTKLIBS = -framework Tcl -framework Tk -lz
i686-apple-darwin9-gcc-4.0.1: TCLTKLIBS: No such file or directory
i686-apple-darwin9-gcc-4.0.1: =: No such file or directory
make: *** [/Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/etc/form/form] Error 1
Other modules give similar detailed errors, referring to TCLTKLIBS
In order to compile GRASS for TclTk aqua 8.5, I have to manually change platform make to have the line ...
TCLTKLIBS = -framework Tcl -framework Tk
Somehow this line is now causing problems.
I don't see any recent changes to the lib/form makefile that would do this. Somehow the whole line is getting inserted for $(TCLTKLIBS) in the makefile. Almost like it's set in Platform.make like:
TCLTKLIBS = TCLTKLIBS = -framework Tcl -framework Tk
(I know that William has a symlink to aqua TclTk, but I cannot do this because it makes R-Commander fail. I need the x11 version there).
Fail to build/install or fail to run? Are you installing a binary r commander package or building from source? A binary shouldn't care about any symlinks when it runs.
-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/
"Time is an illusion - lunchtime doubly so."
- Ford Prefect
On Feb 25, 2009, at 7:16 PM, William Kyngesburye wrote:
(I know that William has a symlink to aqua TclTk, but I cannot do this because it makes R-Commander fail. I need the x11 version there).
Fail to build/install or fail to run? Are you installing a binary r commander package or building from source? A binary shouldn't care about any symlinks when it runs.
... unless they built the binary with tcltk at /usr/local/lib... I installed R commander (wow, lots of stuff installed!) and I see in the tcltk2 module that it's linked to /usr/local/lib/libtcl8.5.dylib.
hmmm... As an alternative for GRASS, so it can find and link tcltk aqua and not interfere with your X11 tcltk, you could set up a separate folder with the symlinks to the framework:
/usr/local/tcltkaqua/lib/libtcl8.5.dylib -> tcl framework
/usr/local/tcltkaqua/lib/libtk8.5.dylib -> tk framework
configure GRASS with: --with-tcltk-includes="/Library/Frameworks/Tcl.framework/Headers /Library/Frameworks/Tk.framework/Headers /Library/Frameworks/Tk.framework/PrivateHeaders" --with-tcltk-libs=/usr/local/tcltkaqua/lib
Then there's no need to mess with Platform.make.
Then see if the errors in libform continue.
-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/
"Mon Dieu! but they are all alike. Cheating, murdering, lying, fighting, and all for things that the beasts of the jungle would not deign to possess - money to purchase the effeminate pleasures of weaklings. And yet withal bound down by silly customs that make them slaves to their unhappy lot while firm in the belief that they be the lords of creation enjoying the only real pleasures of existence....
- the wisdom of Tarzan
On Feb 25, 2009, at 6:16 PM, William Kyngesburye wrote:
On Feb 25, 2009, at 5:29 PM, Michael Barton wrote:
cmb-MBP-2:grass6_src cmbarton$ cd /Users/cmbarton/grass_dev/grass6_src/lib/form
cmb-MBP-2:form cmbarton$ make
gcc -L/Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/lib -arch i386 -Os -arch i386 -Os -o /Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/etc/form/form OBJ.i386-apple-darwin9.6.0/form.o -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz -lgrass_datetime \
TCLTKLIBS = -framework Tcl -framework Tk -lz
i686-apple-darwin9-gcc-4.0.1: TCLTKLIBS: No such file or directory
i686-apple-darwin9-gcc-4.0.1: =: No such file or directory
make: *** [/Users/cmbarton/grass_dev/grass6_src/dist.i386-apple-darwin9.6.0/etc/form/form] Error 1
Other modules give similar detailed errors, referring to TCLTKLIBS
In order to compile GRASS for TclTk aqua 8.5, I have to manually change platform make to have the line ...
TCLTKLIBS = -framework Tcl -framework Tk
Somehow this line is now causing problems.
I don't see any recent changes to the lib/form makefile that would do this. Somehow the whole line is getting inserted for $(TCLTKLIBS) in the makefile. Almost like it's set in Platform.make like:
TCLTKLIBS = TCLTKLIBS = -framework Tcl -framework Tk
I'm blind. I guess I don't have even time to compile this correctly. Thanks for spotting this silly error.
Michael