Bug 4575

Summary: Make file not parsing correctly
Product: [Retired] Red Hat Linux Reporter: gregb
Component: makeAssignee: David Lawrence <dkl>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 6.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-08-18 15:21:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description gregb 1999-08-17 15:57:50 UTC
When make concats a variable defined in one makefile with a
variable defined in another makefile and the 2nd variable
starts with a / it parses incorrectly.
Example:
In file "Rules" this variable is defined
A=outputdirectory
in makefile in directory "subdirs" this is defined
B=/test
the makefile in the subdir directory has the line
include ../Rules

in Rules there is this target

all::
	@echo $(A)$(B)

the expected output is
outputdirectory/test
the actual output is
/testtdirectory

I have tar files which setup and demonstrate the minimal set
of files required to reproduce this bug.  I can be reached
at gregb if you would like these files.
This bug has been tested with kernel 2.2.9 and 2.2.11
The 2.2.9 installation was from the Mandrake distribution of
Red Hat Linux 6.0.  The 2.2.11 kernel was simply a download
form www.kernel.org and a recompile.
This bug is making it impossible for our make files to work
in a cross platform enviornment that includes Linux.  We
have them working on NT running the Cygnus bash shell and on
Solaris.

Give me an e-mail if I can be of any help at all.  Certainly
, I can at least give you the tar files that demonstrate
this bug.  Just let me know and I'll help out in any way
except programming :-)  I have too much of that to do here
at work.

Have a great day.

Greg

Comment 1 gregb 1999-08-18 14:57:59 UTC
Found a hidden control character in our make files (a ^M) that is
causing the problem.  Oddly enough the java editor we were using was
adding it consistently so all our test had the same problem.

Close it out