[comp.sys.isis] problem with isisv2.1 on VAX and a question.

pop@linus.mitre.org (Paul Perry) (11/01/90)

A problem, a fix, and a question.

When building isisv2.1 for a VAX3100 Ultrix-32 V3.0 (Rev 64) I ran
into this error:

cd util; make MCHTYPE=VAX MCHDEPCFLAGS="-DBYPASS" OPLIBS= CC=cc OPTIM="-O" ; cd
..
cc -DBYPASS -DVAX -I../../include -c -O ../../util/long_haul.c
"../../util/long_haul.c", line 2663: warning: ambiguous assignment: assignment o
p taken
"../../util/long_haul.c", line 2663: warning: old-fashioned initialization: use
=
"../../util/long_haul.c", line 2663: syntax error
"../../util/long_haul.c", line 2663: warning: old-fashioned initialization: use
=
"../../util/long_haul.c", line 2663: warning: illegal combination of pointer and
 integer, op =
*** Error code 1

which is easily fixed by adding a space after the = sign on that line.
ISIS then compiles and work fine.

The question is: if I build one isis on a sun4 with the BYPASS and a
second isis on a VAX3100 withought the BYPASS flag are they going to
communicate well ?  I ask because I noticed that the grid demo didn't
seem to behave as expected when I had this setup.  I realize I am
being vague here.  I have since rebuilt isis with the BYPASS flag on
and all is ok.


-- 
Paul O. Perry                                    MITRE Corporation
Phone: (617) 271-5230                            Burlington Road
ARPA: pop@mitre.org                              Bedford, MA  01730
UUCP:   ...{decvax,philabs,genrad}!linus!pop

rcbc@cs.cornell.edu (Robert Cooper) (11/01/90)

In article <125054@linus.mitre.org>, pop@linus (Paul Perry) writes:
>When building isisv2.1 for a VAX3100 Ultrix-32 V3.0 (Rev 64) I ran
>into this error:
>"../../util/long_haul.c", line 2663: warning: old-fashioned initialization: use
>=

>which is easily fixed by adding a space after the = sign on that line.
>ISIS then compiles and work fine.

Thanks, we'd already caught that one, but assumed most compilers
would only give a warning not an error so we didn't post the fix.
Here's the fix:

2663c2663
<   int i, j=*addrlen;
---
>   int i, j = *addrlen;

Since most of us learnt C after they replaced the dangerous i =+ 1 syntax
with the more sensible i += 1, we often forget to leave the requisite 
space.

>The question is: if I build one isis on a sun4 with the BYPASS and a
>second isis on a VAX3100 withought the BYPASS flag are they going to
>communicate well ?  I ask because I noticed that the grid demo didn't
>seem to behave as expected when I had this setup.  I realize I am
>being vague here.  I have since rebuilt isis with the BYPASS flag on
>and all is ok.

You must compile all binaries with the same setting of the BYPASS flag.  We
might put in a run-time sanity check for this, but at some point BYPASS
will be standard and non-BYPASS will be removed as an option anyway.

                           -- Robert Cooper