Path: utzoo!attcan!uunet!samsung!noose.ecn.purdue.edu!mentor.cc.purdue.edu!j.cc.purdue.edu!brazil.psych.purdue.edu!zhou From: zhou@brazil.psych.purdue.edu (Albert Zhou) Newsgroups: comp.lang.pascal Subject: Re: Having problem with Make Message-ID: <11677@j.cc.purdue.edu> Date: 12 Jan 91 14:02:05 GMT References: <91010.090837F0O@psuvm.psu.edu> Sender: news@j.cc.purdue.edu Reply-To: zhou@brazil.psych.purdue.edu (Albert Zhou) Organization: Purdue University Lines: 15 If you have modify a unit (say A) which was used by another unit (say B), you'll have to recompile unit B when your main program use both A and B. The compiler will not automatically recompile it for you, but it will give you that error message you mentioned. That's because the compiled program must only contain one copy of each subroutine in A, which will cause con- tradition if unit A is different from the one that unit B used. Example: Suppose procedure anything(x: real) was in unit A which unit B used. Now you modify it to procedure anything(x: integer). And in main program you use this procedure in unit A. If only one copy of this procedure is included in the compiled .EXE program, should x be integer or real? It can be solved only by recompile (or even modify the source code of ) unit B.