[gnu.ghostscript.bug] Building `gs' on a VAX:

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