[GRASSLIST:4656] Re: Mac OS X 10.1.5 run problem

Glynn Clements glynn.clements at virgin.net
Sat Oct 5 07:27:21 EDT 2002


Michael O'Dell wrote:

> > > % grass5
> > > % /usr/local/grass5/etc/Init.sh: no such file or directory:
> > > /usr/local/grass5/etc/lock [50]
> > 
> > This is the problem; the file error.log should indicate that an error
> > occurred while building src/general/init. Examine the output from
> > "make" to determine exactly what happened.
> 
> Thank you very much for your response. Obviously I am "learning as I
> go" and am new to UNIX and compiling, and clearly not very good at it
> from the looks of error.log. 
> 
> Since I did not save the output from make the first time, I ran make
> clean and then configure and make again. The results in error.log were
> the same (see below). Given the amount of time I have spent getting to
> this point, all of these compilation errors do make me frustrated. I
> don't expect people to solve these problems for me, but since several
> of you were kind enough to respond to my first post, I thought I should
> reply out of courtesy.
> 
> I have annotated the error.log, keeping the errors in order, but
> grouping them according to the undefined symbols that each module
> choked on (most of them on _keypad). Grep-ing around I cannot find
> _keypad except in .o files under src/ (I have no idea what is relevant
> :-) )
> 
> Also for completeness: in response to Hamish's reply (thank you for the
> reply), I do have /usr/include/curses.h but not /usr/lib/libcurses.a
> nor /usr/lib/libcurses.so; rather I have /usr/lib/libcurses.dylib
> 
> 
> 
> Start of compilation: Fri Oct  4 21:09:46 CDT 2002
> Errors:
> Compilation error in module: src/libes/vect32/georef (ignored)
> Undefined symbols:
> _ax
> _ay
> _bx
> _by
> _use

This is a known problem which appears to be due to a peculiarity of
the Mac's linker. Currently, the only fix is to modify the Gmakefile
to explicitly link all binaries against vars.o in addition to
libgeo.a. See my replies to Scott W Mitchell for additional details.

> Compilation error in module: src/general/init (ignored)
> Compilation error in module: src/display/d.3d (ignored)
> Compilation error in module: src/display/d.labels (ignored)
> Compilation error in module: src/general/g.access (ignored)
> Compilation error in module: src/general/g.help (ignored)
> Compilation error in module: src/general/g.region (ignored)
> Compilation error in module: src/imagery/i.class (ignored)
> Compilation error in module: src/imagery/i.cluster (ignored)
> Compilation error in module: src/imagery/i.composite (ignored)
> Compilation error in module: src/imagery/i.group (ignored)
> Compilation error in module: src/imagery/i.maxlik (ignored)
> Compilation error in module: src/imagery/i.ortho.photo (ignored)
> Compilation error in module: src/imagery/i.points3 (ignored)
> Compilation error in module: src/imagery/i.quantize (ignored)
> Compilation error in module: src/imagery/i.rectify2 (ignored)
> Compilation error in module: src/imagery/i.tape.mss (ignored)
> Compilation error in module: src/imagery/i.tape.other (ignored)
> Compilation error in module: src/imagery/i.tape.spot (ignored)
> Compilation error in module: src/imagery/i.tape.tm (ignored)
> Compilation error in module: src/imagery/i.tape.tm.fast (ignored)
> Compilation error in module: src/imagery/i.target (ignored)
> Compilation error in module: src/mapdev/v.digit (ignored)
> Compilation error in module: src/mapdev/v.in.tig.lndmk (ignored)
> Compilation error in module: src/mapdev/v.reclass (ignored)
> Compilation error in module: src/mapdev/v.transform (ignored)
> Compilation error in module: src/paint/Programs (ignored)
> Compilation error in module: src/raster/r.agnps50 (ignored)
> Compilation error in module: src/raster/r.buffer (ignored)
> Undefined symbols:
> _keypad

This is a curses function, which appears to be absent from the Mac's
curses library. I guess that we need to add a configure check for this
function, and only use it when it's available.

I suspect that most of the errors are due to src/libes/vask, in the
files V_init.c and V_exit.c. If you disable the calls to keypad() in
those files, most of the above should compile. However, you may not be
able to use the extended keys (those to the right of the main
keyboard, i.e. cursor keys, the numeric keypad etc) for form-based
input.

> Compilation error in module: src/raster/r.in.gdal (ignored)
> Undefined symbols:
> _GBGetSymbol

Another known problem, also discussed in my replies to Scott W
Mitchell.

> Compilation error in module: src/raster/r.tiff (ignored)
> Undefined symbols:
> _jpeg_CreateCompress
> _jpeg_CreateDecompress
> _jpeg_abort
> _jpeg_destroy
> _jpeg_finish_compress
> _jpeg_finish_decompress
> _jpeg_read_header
> _jpeg_read_raw_data
> _jpeg_read_scanlines
> _jpeg_resync_to_restart
> _jpeg_set_colorspace
> _jpeg_set_defaults
> _jpeg_set_quality
> _jpeg_start_compress
> _jpeg_start_decompress
> _jpeg_std_error
> _jpeg_suppress_tables
> _jpeg_write_raw_data
> _jpeg_write_scanlines
> _jpeg_write_tables

It appears that your TIFF library requires the JPEG library (this is
quite common). However, the "configure" script explicitly checks for
this, and should have included the necessary switches in the
definition of TIFFLIB in src/CMD/head/head.<arch>. It should be
possible to fix the problem by editing that file accordingly.

> Compilation error in module: src.contrib/GMSL/NVIZ2.2 (ignored)
> /Users/mpodell/Documents/Dev/Sources/Grass/grass-5.0.0/src.contrib/GMSL/NVIZ2.2
> /src
>   mkdir OBJ.powerpc-apple-darwin5.5
>   make -f OBJ.powerpc-apple-darwin5.5/make.rules 
> 
> cc -I/Users/mpodell/Documents/Dev/Sources/Grass/grass-5.0.0/src/include
> -g -O2 
>   -I/usr/X11R6/include -I/usr/local/include -I/usr/local/include
> -I/Users/mpodell/Documents/Dev/Sources/Grass/grass-5.0.0/src/libes/ogsf
>  -D_NO_PROTO -D__STDC_
> _   -I/usr/local/pgsql/include -I/usr/local/pgsql/include/internal  -c
> nvizAppIn
> it.c -o OBJ.powerpc-apple-darwin5.5/nvizAppInit.o
> In file included from nvizAppInit.c:9:
> interface.h:257: conflicting types for `Tk_SetAppName'
> /usr/local/include/tkDecls.h:573: previous declaration of
> `Tk_SetAppName'
> make[2]: *** [OBJ.powerpc-apple-darwin5.5/nvizAppInit.o] Error 1
> make[1]: *** [nvwish] Error 2
> GISGEN failure at STEP: src.contrib/GMSL/NVIZ2.2

Odd. The most likely reason is an incompatible version of Tk. NVIZ
uses Togl, which is an OpenGL "widget" for Tk. Unfortunately, code
which implements Tk widgets is highly sensitive to the version of Tk
which is used.

Also, Tk supports three distinct platforms: Unix/X11, Windows, and
Mac. NVIZ requires the Unix/X11 version; it won't work with "native"
Windows or Mac versions of Tk.

BTW, The same issue applies to OpenGL; on "hybrid" systems (those
which support both the Unix/X11 API and a "native" API, e.g. Cygwin
and MacOSX), NVIZ requires the Unix/X11 version of OpenGL, not the
"native" version.

-- 
Glynn Clements <glynn.clements at virgin.net>



More information about the grass-user mailing list