This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Missing STDERR output from Cygwin make v3.79.1


Hi,

I've discovered some odd behaviour with make v3.79.1 as included with the CygWin development tools package. I've searched the web and checked the make manual, but have not been able to find anything helpful so far.

When calling ccppc (a PowerPC cross-compiler supplied as part of the Tornado VxWorks Development Tools from WindRiver) via make, any error messages generated by ccppc do not get printed. Any error messages I would expect to be printed via STDERR do not get printed.

I have tried calling gcc instead of ccppc and saw all expected error messages. I also tried using a different version of make (v3.74 as shipped with Tornado 2.2) with both ccppc and gcc. In both cases I saw the expected error messages.

It is only the combination of make 3.79.1 (from Cygwin) and ccppc that appears to suffer from this issue. Naturally, this is the combination of tools I require. ;-)

The make file I am using contains the following:

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

MY_PPC_COMPILER = ccppc
MY_GNU_COMPILER = gcc

ifeq ($(FOR_PPC), 1)
	COMPILE = $(MY_PPC_COMPILER)
else
	COMPILE = $(MY_GNU_COMPILER)
endif

all :
	$(COMPILE) -c -o client.o client.cpp

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

Note that the source file being compiled does not exist. This should thus produce a file not found error.

The script I am using to call make issues the following commands:

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

echo ======================================
echo Test Cygwin make with GCC
echo ======================================
c:/cygwin/bin/make --debug=v
echo ======================================
echo

echo ======================================
echo Test Cygwin make with CCPPC
echo ======================================
c:/cygwin/bin/make FOR_PPC=1 --debug=v
echo ======================================
echo

echo ======================================
echo Test Tornado make with GCC
echo ======================================
$WIND_BASE/host/x86-win32/bin/make -v
$WIND_BASE/host/x86-win32/bin/make
echo ======================================
echo

echo ======================================
echo Test Tornado make with CCPPC
echo ======================================
$WIND_BASE/host/x86-win32/bin/make FOR_PPC=1 -v
$WIND_BASE/host/x86-win32/bin/make FOR_PPC=1
echo ======================================
echo

echo ======================================
echo Just calling CCPPC without make
echo ======================================
ccppc -c -o client.o client.cpp
echo ======================================
echo

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

I am calling the script via a batch file whose contents are as follows:

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

bash test_make.sh > test_make.log 2>&1

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

The output captured in test_make.log is as follows:

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

======================================
Test Cygwin make with GCC
======================================
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i686-pc-cygwin
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
	Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make@gnu.org>.

Reading makefiles...
Reading makefile `makefile'...
Updating goal targets....
Considering target file `all'.
 File `all' does not exist.
 Finished prerequisites of target file `all'.
Must remake target `all'.
gcc -c -o client.o client.cpp
gcc: client.cpp: No such file or directory
gcc: no input files
make: *** [all] Error 1
======================================

======================================
Test Cygwin make with CCPPC
======================================
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i686-pc-cygwin
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
	Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make@gnu.org>.

Reading makefiles...
Reading makefile `makefile'...
Updating goal targets....
Considering target file `all'.
 File `all' does not exist.
 Finished prerequisites of target file `all'.
Must remake target `all'.
ccppc -c -o client.o client.cpp
make: *** [all] Error 1
======================================

======================================
Test Tornado make with GCC
======================================
GNU Make version 3.74 (vpath+), by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

gcc -c -o client.o client.cpp
gcc: client.cpp: No such file or directory
gcc: no input files
make.exe: *** [all] Error 0x1
======================================

======================================
Test Tornado make with CCPPC
======================================
GNU Make version 3.74 (vpath+), by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

ccppc -c -o client.o client.cpp
ccppc: client.cpp: No such file or directory
ccppc: No input files
make.exe: *** [all] Error 0x1
======================================

======================================
Just calling CCPPC without make
======================================
ccppc: client.cpp: No such file or directory
ccppc: No input files
======================================

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

No additional output is printed to the console window.

As shown by the log file, the expected errors are not printed when ccppc is called from make 3.79.1. My suspicion is that this a problem with make, though it's quite possible that this is a ccppc issue, or perhaps a problem with both make and ccppc. I have verified that the error output from ccppc is printed via STDERR. Interestingly, the output from gcc is also printed via STDERR.

I'm using Windows 2000 with SP4, though I have seen the same problem with SP3 as well. I have tried using the version of ccppc shipped with multiple versions of Tornado (v2.0, v2.02, v2.1, v2.2, v2.2.1) and saw the same missing output with all versions. The version number for my copy of cygwin1.dll is "1.3.22-dontuse-21".

Any assistance would be most appreciated.

Thanks,

Chris Whitehead

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]