[comp.unix.xenix.sco] Problem porting C News to SCO Xenix/386

shwake@raysnec.UUCP (Ray Shwake) (02/05/91)

	Attempted recently to port a recent version of C News (Dec 15, 1990
I believe) under SCO Xenix/386 2.3.1 (using SCO's SDS 2.3.1). It stumbled
on the dbzmain module, as shown below:

+ make all DBM= COPTS=-O LDFLAGS=-s
	cc -O -I../include -c dbzmain.c
dbzmain.c
Compiler error (assertion): file @(#)grammar.c:1.32, line 118 source=364
Compiler error (assertion): file @(#)grammar.c:1.32, line 118 source=374
Compiler error (assertion): file @(#)grammar.c:1.32, line 118 source=394
*** Error code 3

Stop.
+ exit 1

	Anyone know what might be going on here? I encountered no such
error when porting an earlier version of source under ISC UNIX.

-----------  
uunet!media!ka3ovk!raysnec!shwake				shwake@rsxtech

henry@zoo.toronto.edu (Henry Spencer) (02/06/91)

In article <236@raysnec.UUCP> shwake@raysnec.UUCP (Ray Shwake) writes:
>dbzmain.c
>Compiler error (assertion): file @(#)grammar.c:1.32, line 118 source=364
>
>	Anyone know what might be going on here? I encountered no such
>error when porting an earlier version of source under ISC UNIX.

Evidently SCO's compiler does not like conditional expressions `a ? b : c'
where b and c have struct values.  You'll have to change the three cases
of things like

	value = (dbzint) ? dbzfetch(key) : fetch(key);

to things like

	if (dbzint)
		value = dbzfetch(key);
	else
		value = fetch(key);
-- 
"Maybe we should tell the truth?"      | Henry Spencer at U of Toronto Zoology
"Surely we aren't that desperate yet." |  henry@zoo.toronto.edu   utzoo!henry