[GRASS5] 5.0.0pre1 on mac osx

andy agena andya at inebraska.com
Wed Apr 25 12:59:14 EDT 2001


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
XProtoError
XProtoError
XProtoError
XProtoError
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 at geog.uni-hannover.de with
subject 'unsubscribe grass5'



More information about the grass-dev mailing list