[comp.lang.scheme.c] CScheme Problem

ccx004@cck.coventry.ac.UK (Colin Bruce) (02/09/90)

I have copied the sources for C scheme from the gatekeeper machine at dec.
I have compiled them and using the psb files built a working scheme. So
far so good. On our system (which is a sequent symmetry running dynix)
suspending processes doesn't work so I make a small change to make it
just quit. I rebuild it and it works fine. Also good. Now if i do a make
clean and build it a third time it fails. I have then copied the sources
from the states three times and each time this strange behaviour has
occurred. It fails in etc/make_runtime. It loads and purifies the various
files as expected when the bare scheme starts. Then it sets the working
directory to ../sf and tries to load "make" Now it reports that there is
no such file as make.

HOWEVER, THE FIRST 2 TIMES IT IS BUILT IT FINDS THE FILE OK.

I have tried copying a virgin version of scheme and diff'ing it with my
modified version and apart from my change which is shown below there are
no differences. I don't believe the change I have made can allow the system
to build twice and fail thereafter.

I would appreciate any assistance anyone can provide. I should add that I
know I can make it work by just copying the originals again, making the
changes which are required here and then recompiling it only once.

 ---------------------------------------------------------------------------

THE CHANGE I HAVE MADE

FILE:

    sysprim.c

APPROX LINE:

    151

ORIGINAL:

  extern Boolean Restartable_Exit();
  PRIMITIVE_HEADER (0);

  PRIMITIVE_RETURN (((Restartable_Exit ()) ? SHARP_T : NIL));

NEW:

#ifndef sequent
  extern Boolean Restartable_Exit();
#endif
  PRIMITIVE_HEADER (0);

#ifdef  sequent
  Microcode_Termination (TERM_HALT);
#else
  PRIMITIVE_RETURN (((Restartable_Exit ()) ? SHARP_T : NIL));
#endif

-----*


                                        Colin Bruce (ccx004@uk.ac.coventry)