delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2003/06/02/23:15:16

From: strags11 AT yahoo DOT com (Nick)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Simple (?) problem with djgpp/gcc/make
Date: 2 Jun 2003 20:06:11 -0700
Organization: http://groups.google.com/
Lines: 138
Message-ID: <1ba37fef.0306021906.52b96029@posting.google.com>
References: <1ba37fef DOT 0306010650 DOT 10517f99 AT posting DOT google DOT com> <6137-Sun01Jun2003200228+0300-eliz AT elta DOT co DOT il> <1ba37fef DOT 0306011651 DOT 4dfb06ed AT posting DOT google DOT com> <3995-Mon02Jun2003065843+0300-eliz AT elta DOT co DOT il>
NNTP-Posting-Host: 151.204.11.162
X-Trace: posting.google.com 1054609571 15185 127.0.0.1 (3 Jun 2003 03:06:11 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: 3 Jun 2003 03:06:11 GMT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

"Eli Zaretskii" <eliz AT elta DOT co DOT il> wrote in message news:<3995-Mon02Jun2003065843+0300-eliz AT elta DOT co DOT il>...

Eli, thanks in advance for all your help on this.  Results of the
tests you requested are below.

Nick

> What exactly is your PATH setting?  Please type "PATH" from the DOS
> box's prompt, hit [Enter], and post here the result.

Hmmm...Here is my path setting from the DOS command prompt.  Note that
DJGPP\BIN is where it needs to be.  (It is all one line of course, but
I broke it into several lines below for readability):

PATH=c:\djgpp\bin;C:\WINDOWS\system32;C:\WINDOWS;
     C:\WINDOWS\COMMAND;C:\;C:\CDROM;C:\BRCD\BIN;
     C:\BRCD\COMMAND;C:\WINDOWS\system32\WBEM

Then, for laughs, I added "path" as an action to my hello.o build
rule, expecting to see the same result.  I didn't:

PATH=C:\BRCD\COMMAND;C:\BRCD\BIN;C:\CDROM;C:\;
     C:\WINDOWS\COMMAND;C:\WINDOWS;C:\WINDOWS\system32

I have no idea where this crazy path is coming from.  I checked the
two obvious places: the environment variables dialog in my System
control panel icon, and my autoexec.bat file.  The definition of PATH
in my System environment variables is what I expected it to be:

 Name: Path
Value: c:\djgpp\bin;%SYSTEMROOT%\system32;%SYSTEMROOT%;
       %SYSTEMROOT%\COMMAND;C:\;C:\CDROM;C:\BRCD\BIN;
       C:\BRCD\COMMAND;%SYSTEMROOT%\system32\WBEM
(Note: This is the global definition, and there is no override defined
for my own login account.)

...but, the PATH declaration in my autoexec.bat is yet another string:

SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;
         C:\CDROM;C:\BRCD\BIN;C:\BRCD\COMMAND

Observe that, with the exception of my System32 directory, the
autoexec string is exactly the reverse of the one returned from the
PATH command in the makefile.  Clearly the path is the problem,
because the makefile (see below) fails on the "gcc -v" step; as you
surmised, it's not finding gcc at all.  I still don't understand why
the all-caps ECHO doesn't work, though.

To answer your next question: No, I did nothing unusual in configuring
my system.  It is a basic, vanilla Windows XP upgrade.

> Also, add a line saying just "set" to your Makefile, and post here
> what it prints.

I presume you mean to do this as an action in a rule.  I did this and
the results are at the end of the message.  Too long to list it
inline.

> What do you see if you go to the DJGPP's `bin' directory and type
> "dir gcc*"?

Nothing out of the ordinary.  Just:

   04/30/2003  07:10 PM           161,792 gcc.exe

> Does it help to replace "gcc" with "GCC" in your Makefile?

Nope.

Nick

--- RESULT OF RUNNING "set" FROM WITHIN MAKEFILE ---
SYSTEMDRIVE=C:
TEMP=C:\WINDOWS\TEMP
HOMEDRIVE=C:
SHELL=C:\WINDOWS\SYSTEM32\COMMAND.COM
EMU387=c:/djgpp/bin/emu387.dxe
GO32STUB=c:/djgpp/bin/stubify.exe
LFN=y
PROMPT=$P$G
COMPUTERNAME=OWL2
USERNAME=Nick
APPDATA=C:\DOCUME~1\Nick\APPLIC~1
USERPROFILE=C:\DOCUME~1\Nick
COMMONPROGRAMFILES=C:\PROGRA~1\COMMON~1
TEXMFMAIN=c:/djgpp/share/texmf
PROCESSOR_ARCHITECTURE=x86
PATH=C:\BRCD\COMMAND;C:\BRCD\BIN;C:\CDROM;C:\;C:\WINDOWS\COMMAND;C:\WINDOWS;C:\W
INDOWS\system32
PROGRAMFILES=C:\PROGRA~1
OS=Windows_NT
NUMBER_OF_PROCESSORS=1
WINBOOTDIR=C:\WINDOWS
WINDIR=C:\WINDOWS
PROCESSOR_REVISION=0803
MFLAGS=
LOGONSERVER=\\OWL2
USER=dosuser
SESSIONNAME=Console
ALLUSERSPROFILE=C:\DOCUME~1\ALLUSE~1
SYSTEMROOT=C:\WINDOWS
TMPDIR=c:/djgpp/tmp
MAKEFLAGS=
PROCESSOR_LEVEL=6
USERDOMAIN=OWL2
DJGPP=c:\djgpp\djgpp.env
LANG=en_US
COMSPEC=C:\WINDOWS\SYSTEM32\COMMAND.COM
DJDIR=c:/djgpp
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 3, GenuineIntel
GROUP=root
TMP=C:\WINDOWS\TEMP
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
HOMEPATH=\Documents and Settings\Nick
BLASTER=A220 I5 D1 P330 T3
MAKELEVEL=1
---- END OF "set" RESULTS ----

---- THE ACCURSED MAKEFILE NOW READS: ----
hello.o : hello.c
        set
        echo x
        ECHO y
        gcc -v
        echo z
        GCC -c hello.c

(note: tabs replaced with spaces for Usenet)
---- END OF MAKEFILE ---------------------

---- RESULTS OF RUNNING MAKEFILE ---------
set
<lots of stuff listed above>
echo x
x
ECHO y
make.exe: *** [hello.o] Error -1
------------------------------------------

- Raw text -


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