Hi Malcom:
i got a late start today, sorry for the delay in replying. i really appreciate the time you're taking to help me out.
/usr/bin/ld: Undefined symbols:
__XErrorFunction
__XIOErrorFunction
__Xdebug
These should be in libX11.a. (I'm assuming static libraries here.) Check for
them elsewhere, in /usr/X11R6/lib do a 'grep XErrorFunction *.a'. It should
report some file matches, if these are defined. If so, do a strings on the file
that is reported and pipe to 'grep ErrorFunction' ( strings foo.a | grep
ErrorFunction). Look for close mismatches. Also, grep for these strings in
/usr/X11R6/include and /usr/X11R6/include/X11 header files. Maybe they are
redefined. If you find libraries that have these check in your gmake5 output
file to see if the libraries needed are on the line creating XDRIVER. If they
are redefined in an include file, you may need to add the #include statement in
the source file.
This part doesn't make sense to me; the first grep turns up the three files using "ErrorFunction", yet strings on these files doesn't show it (so I tried grep'ing just Error):
[localhost:/usr/x11r6/include] root# grep ErrorFunction *.a
grep: No match.
[localhost:/usr/x11r6/lib] root# grep ErrorFunction *.a
Binary file libFS.a matches
Binary file libX11.a matches
Binary file libXext.a matches
[localhost:/usr/x11r6/lib] root# strings libX11.a | grep ErrorFunction
[localhost:/usr/x11r6/lib] root#
[localhost:/usr/x11r6/lib] root# strings libX11.a | grep Error
Error parsing argument "%s" (%s); %s
XProtoError
/usr/X11R6/lib/X11/XErrorDB
ErrorType.ErrorNumber
XError
X Error
ErrorSerial
Error Serial #%d
[localhost:/usr/x11r6/lib] root# strings libFS.a | grep Error
FSProtoError
FSError
FS Error
ErrorSerial
Error Serial #%d
[localhost:/usr/x11r6/lib] root# strings libXext.a | grep Error
XProtoError
To recompile, you will need the headers. Look for other tcl*.h or tk*.h files.
These can be obtained from various sites, but they should match the version of
the libraries that you have (i.e. 8.0.3, 8.0.5, etc.).
I did a search a google and found a bunch of dead links and www.opensource.apple.com keeps timing out.
Jeshua: do you mind popping your tcl/tk .h into a tarball and zapping them to me?
What puzzles me about these *.h files is that I had the grass 5beta11 running before with Jeshua's tcltk tarballs (bin and lib). Perhaps apple had included them with the public beta, but removed them in the 1.0 release.
There are small
differences in some of the versions. Based on where you found the libraries,
look for something in /usr/local/include. If you still can't find them, these
can be provided. Until you get the XDRIVER working, the tcltkgrass won't be as
much fun, so fix this later.
For the lib files, you don't need these in your path, you need to tell gmake5 to
use them. To do that, look at the file in src/CMD/head/ that matches your system
architecture. For cygwin it looks like src/CMD/head/head.i686-pc-cygwin. It
should match the architecture that you are using, like the bin.** and dist.**
directories that were created by install. The tcl/tk lines should look like the
lines in my head file here:
#tcl/tk stuff
TCLINCDIR = -I/usr/local/include
TKINCDIR = -I/usr/local/include
TCLTKLIBPATH = -L/usr/local/lib
TCLTKLIBS = -ltk8.0 -ltcl8.0
the culprits:
PNGLIB = -L/usr/local/lib -L/usr/X11R6/lib -L/usr/lib
#JPEGINCPATH = -I/usr/X11R6/include/ -I/usr/include/gr -I/usr/local/include -I/usr/include
#JPEGLIBPATH = -L/usr/local/lib -L/usr/X11R6/lib -L/usr/lib
JPEGINCPATH =
JPEGLIBPATH =
JPEGLIB =
TIFFINCPATH =
TIFFLIBPATH = -L/usr/local/lib
#tcl/tk stuff
TCLINCDIR =
TKINCDIR =
TCLTKLIBPATH =
TCLTKLIBS =
my setup:
[localhost:/usr/local/lib] root# ls
.DS_Store libtiff.a libz.a php.ini tk8.0
libpng.a libtk8.0.a mysql tcl8.0 tkConfig.sh
libtcl8.0.a libwrap.a php tclConfig.sh
Should I add "-I/usr/local/lib" for tcltk, png, and tiff (still haven't tracked down the jpeg file) and 'make' again?
my wish8.0 is in /usr/local/bin, which was already in my PATH.
Create a link to this file. (cd to /usr/local/bin and do 'ln -s wish8.0 wish')
creating the link got rid of the tcltk error, now its just:
GRASS 5.0.0pre1 > tcltkgrass &
[1] 486
GL libraries and includes should be under the X11 path, in something
like
/usr/X11R6/lib and /usr/X11R6/include/GL or /usr/X11/lib and
/usr/X11/include/GL. Check one of the Mac OS X sites, to see if others
have this
available...
I have libGL.a and libGLw.a in /usr/X11R6/lib, plus a bunch of GL* in
/usr/X11R6/include/GL
Check to see if these were found by configure. Look at the head file
from my head.* file:
#openGL files for NVIZ/r3.showdspf
OPENGLINC = -I/usr/X11R6/include -I/usr/X11r6/include
OPENGLwINC = -I/usr/X11R6/include -I/usr/X11r6/include
OPENGLLIB = -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib -L/usr/X11r6/lib -lGL
OPENGLULIB =
LGLWM =
OPENGL32 =
my setup:
[localhost:x11r6/include/gl] root# pwd
/usr/X11R6/include/GL
[localhost:x11r6/include/gl] root# ls
GLwDrawA.h GLwMDrawA.h gl.h glx.h glxtokens.h
GLwDrawAP.h GLwMDrawAP.h glext.h glxint.h osmesa.h
Should I add "/GL" at the end of the head.* for this one?
Thanks,
Andy
---------------------------------------- If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'