delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/03/17/02:14:49

Date: Sat, 17 Mar 2001 09:12:14 +0200
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Sender: halo1 AT zahav DOT net DOT il
To: "Dan Thompson" <DThompso AT midwaygames DOT com>
Message-Id: <2950-Sat17Mar2001091214+0200-eliz@is.elta.co.il>
X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.6
CC: djgpp AT delorie DOT com
In-reply-to: <810E4FF60FEBD41196C60008C786C6D928DFC1@mwymail1.midwaygames.internal> (DThompso@midwaygames.com)
Subject: Re: Problem running make in WIN2K CMD
References: <810E4FF60FEBD41196C60008C786C6D928DFC1 AT mwymail1 DOT midwaygames DOT internal>
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> From: "Thompson, Dan" <DThompso AT midwaygames DOT com>
> Date: Fri, 16 Mar 2001 15:03:12 -0600
>  
> The project that is being configured to build with GNU-make is a decent-size
> directory tree.  The build-tree has been set up to fully recurse from any
> location in the tree.  Herein lies one of the major inconsistencies: when
> doing a build from the root of the tree (or any sufficiently large branch),
> the results are unpredictable.  For reasons unknown, I have witnessed builds
> that complete successfully and builds that fail midway through, complaining
> of being unable to write to memory, e.g. 'The instruction at "0x0f048d8a"
> referenced memory at "0x01340ffc".  The memory could not be "written".'  The
> failures occur at various places in builds done from the same location.

This is a known problem with W2K: NTVDM, the Windows DOS emulator,
crashes when more than two levels of nested DJGPP programs are run.
The crashes are indeed somewhat random; what you see sounds like a
relatively mild form of the problem.

Unfortunately, there's no known work-around.

> $(TRG_AGRUNT): $(OBJ_AGRUNT)
>     asl $(OPT_AS_LINK) -o $@ $^
>  
> which produces the command-line (emphasis added)
>  
>     asl -v -o agrunt.asd stiffarm.aso lateral.aso hits.aso qb.aso idle.aso
> run.aso lineup.aso getup.aso tackles.aso catches.aso throw.aso taunts.aso
> mills.aso victory.aso huddle.aso blocks.aso kicks.aso reactions.aso
> hurdles.aso
>  
> which then aborts the build with a link error.

I'm guessing that asl is not a DJGPP program.  If so, you are probably
hitting the DOS 126-character limit on command line length.  DJGPP
programs have a way of passing long commands between them, but that
doesn't work if you invoke non-DJGPP programs.

You might be better off if you find a Windows port of GNU Make.  That
would solve both the command-line length problems and the NTVDM
crashes.

> Also, the 'clean' rule process
>  
>     $(foreach VAR,$(TRGS_CLN),@if exist $(VAR) $(RM) $(VAR)$(NEWLINE))
>  
> will not remove 'reactions.aso', though the 'if' is executed against this
> file.  And again, if entered as a command, this 'if' will remove the file.
> When checked with a -n, these problem lines are correctly displayed, but it
> seems that the filename is being truncated to 8.3 (but not with the implicit
> build rule).

Please post the output of this rule under -n, and the list of the
files in $(TRGS_CLN).

> TRGS := ball.$(RTD)
>  
> OBJS := $(TRGS:.$(RTD)=.$(TDL))
>  
> SRCS := $(TEXS)
>  
> .PRECIOUS: $(OBJS)
>  
> #---------------------------------------
> # Make specified targets.
> #---------------------------------------
> all: $(TRGS)
>     @echo $(MSG_MAKING) $(MSG_DIR) $(MSG_COMPLETE)
>  
> %.$(RTD): %.$(TDL) $(SRCS)
>     @$(GNTEXTDT) $<
>  
> %.$(TDL): $(SRCS)
>     @$(GENTLOAD) $*
> 
> causes make to error-out with "make.exe: *** No rule to make target
> `ball.RTD', needed by `all'.  Stop."  Looks to me like the rule is right
> there, and this *exact* set of rules works fine in other makefiles.

Invoke Make with the -d switch ("make -d all") and look at the output:
it might give a clue about what's happening.

One possible gotcha is that Make is case-sensitive about file names,
so ball.RTD and ball.rtd are not the same file for it.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019