pardo@cs.washington.edu (David Keppel) (11/20/89)
I just tried to build `gs' on a VAX (Ultrix) using `gcc' 1.36. Source is `ghostscript-1.3.tar.Z' from prep.ai.mit.edu (Nov. 1989). * `gsmain.c':gs_exit starts with the line (*gx_device_default_p->procs->close_device)(...); `gcc' aborts saying that `gx_device_default_p' is not defined. It *is* defined, but as a nested `extern' declaration in the previous function. Is gcc broke? I made it work by repeating the declaration inside `gs_exit'. * The `make' dies trying to compile `gsfont.c', with conflicting types for `gs_no_build_char_proc'. I didn't bother tracking down the `P5' macro to see what it had expanded to (line 32 of gxfont.c). In addition, there were lots of warnings, including a few that I haven't seen before! The make log is at the end of this message. ;-D on ( PostToastScript ) Pardo pardo@cs.washington.edu {rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo june.cs.washington.edu 1% make gcc -O -ansi -c gs.c gs.c: In function tscan: gs.c:168: warning: argument passing between incompatible pointer types gcc -O -ansi -c gsmain.c In file included from gsmain.c:26: gxdevice.h:37: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:37: warning: its scope is only this definition or declaration, gxdevice.h:37: warning: which is probably not what you want. gxdevice.h:39: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:43: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:46: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:48: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:51: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:55: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:60: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:64: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:67: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:71: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:75: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:82: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:84: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:87: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:90: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:92: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:95: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:97: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:99: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:102: warning: `struct gx_device_s' declared inside parameter list gsmain.c: In function gs_exit: gsmain.c:157: warning: argument passing between incompatible pointer types gcc -O -c utrace.c gcc -O -ansi -c ialloc.c gcc -O -ansi -c idebug.c gcc -O -ansi -c idict.c gcc -O -ansi -c iinit.c gcc -O -ansi -c iname.c gcc -O -ansi -c interp.c interp.c: In function interp_exit: interp.c:168: warning: `interp_exit' was declared `extern' and later `static' gcc -O -ansi -c iscan.c gcc -O -ansi -c iutil.c gcc -O -ansi -c stream.c gcc -O -ansi -c zarith.c gcc -O -ansi -c zarray.c gcc -O -ansi -c zcontrol.c gcc -O -ansi -c zdict.c gcc -O -ansi -c zfile.c gcc -O -ansi -c zgeneric.c gcc -O -ansi -c zmath.c gcc -O -ansi -c zmisc.c gcc -O -ansi -c zrelbit.c gcc -O -ansi -c zstack.c gcc -O -ansi -c zstring.c gcc -O -ansi -c ztype.c gcc -O -ansi -c zvmem.c gcc -O -ansi -c zchar.c zchar.c: In function zshow: zchar.c:61: warning: argument passing between incompatible pointer types zchar.c: In function zashow: zchar.c:78: warning: argument passing between incompatible pointer types zchar.c: In function zwidthshow: zchar.c:97: warning: argument passing between incompatible pointer types zchar.c: In function zawidthshow: zchar.c:117: warning: argument passing between incompatible pointer types zchar.c: In function zkshow: zchar.c:131: warning: argument passing between incompatible pointer types zchar.c: In function zstringwidth: zchar.c:152: warning: argument passing between incompatible pointer types zchar.c: In function zcharpath: zchar.c:178: warning: argument passing between incompatible pointer types gcc -O -ansi -c zcolor.c gcc -O -ansi -c zfont.c In file included from zfont.c:27: gxfont.h:29: warning: `struct gs_show_enum_s' declared inside parameter list gxfont.h:29: warning: its scope is only this definition or declaration, gxfont.h:29: warning: which is probably not what you want. gxfont.h:32: warning: `struct gs_show_enum_s' declared inside parameter list zfont.c: In function zdefinefont: zfont.c:117: warning: assignment between incompatible pointer types gcc -O -ansi -c zdevice.c gcc -O -ansi -c zgstate.c gcc -O -ansi -c zht.c gcc -O -ansi -c zmatrix.c gcc -O -ansi -c zpaint.c gcc -O -ansi -c zpath.c gcc -O -ansi -c zpath2.c gcc -O -ansi -c gschar.c In file included from gschar.c:30: gxfont.h:29: warning: `struct gs_show_enum_s' declared inside parameter list gxfont.h:29: warning: its scope is only this definition or declaration, gxfont.h:29: warning: which is probably not what you want. gxfont.h:32: warning: `struct gs_show_enum_s' declared inside parameter list gschar.c: In function show_update: gschar.c:388: warning: `show_update' was declared `extern' and later `static' gschar.c:370: warning: previous declaration of `show_update' gschar.c: In function show_move: gschar.c:413: warning: `show_move' was declared `extern' and later `static' gschar.c:371: warning: previous declaration of `show_move' gschar.c: In function show_proceed: gschar.c:432: warning: `show_proceed' was declared `extern' and later `static' gschar.c:372: warning: previous declaration of `show_proceed' gschar.c: In function show_proceed: gschar.c:482: warning: argument passing between incompatible pointer types gschar.c: In function stringwidth_update: gschar.c:515: warning: `stringwidth_update' was declared `extern' and later `static' gschar.c:497: warning: previous declaration of `stringwidth_update' gschar.c: In function stringwidth_move: gschar.c:534: warning: `stringwidth_move' was declared `extern' and later `static' gschar.c:498: warning: previous declaration of `stringwidth_move' gschar.c: In function stringwidth_proceed: gschar.c:540: warning: `stringwidth_proceed' was declared `extern' and later `static' gschar.c:499: warning: previous declaration of `stringwidth_proceed' gschar.c: In function stringwidth_proceed: gschar.c:584: warning: argument passing between incompatible pointer types gcc -O -ansi -c gscolor.c In file included from gscolor.c:27: gxdevice.h:37: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:37: warning: its scope is only this definition or declaration, gxdevice.h:37: warning: which is probably not what you want. gxdevice.h:39: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:43: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:46: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:48: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:51: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:55: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:60: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:64: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:67: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:71: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:75: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:82: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:84: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:87: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:90: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:92: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:95: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:97: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:99: warning: `struct gx_device_s' declared inside parameter list gxdevice.h:102: warning: `struct gx_device_s' declared inside parameter list gcc -O -ansi -c gscoord.c gscoord.c: In function gs_translate: gscoord.c:93: warning: argument passing between incompatible pointer types gscoord.c: In function gs_rotate: gscoord.c:123: warning: argument passing between incompatible pointer types gscoord.c:123: warning: argument passing between incompatible pointer types gscoord.c: In function gs_concat: gscoord.c:134: warning: argument passing between incompatible pointer types gscoord.c:134: warning: argument passing between incompatible pointer types gscoord.c: In function gs_transform: gscoord.c:147: warning: argument passing between incompatible pointer types gscoord.c: In function gs_dtransform: gscoord.c:152: warning: argument passing between incompatible pointer types gscoord.c: In function gs_itransform: gscoord.c:157: warning: argument passing between incompatible pointer types gscoord.c: In function gs_idtransform: gscoord.c:163: warning: argument passing between incompatible pointer types gcc -O -ansi -c gsdevice.c gcc -O -ansi -c gsfont.c In file included from gsfont.c:29: gxfont.h:29: warning: `struct gs_show_enum_s' declared inside parameter list gxfont.h:29: warning: its scope is only this definition or declaration, gxfont.h:29: warning: which is probably not what you want. gxfont.h:32: warning: `struct gs_show_enum_s' declared inside parameter list gsfont.c:195: warning: `struct gs_show_enum_s' declared inside parameter list gsfont.c: In function gs_no_build_char_proc: gsfont.c:196: conflicting types for `gs_no_build_char_proc' gxfont.h:32: previous declaration of `gs_no_build_char_proc' *** Error code 1 Stop. 72.7u 23.5s 2:13 72% 374+286k 18+951io 80pf+0w -- pardo@cs.washington.edu {rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo