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