Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-MimeOLE: Produced By Microsoft Exchange V6.0.6375.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Subject: Missing STDERR output from Cygwin make v3.79.1 Date: Tue, 14 Oct 2003 14:38:59 -0700 Message-ID: <459F05C5CBAB824BB3DD965CC92BBFEA019CC751@swan.spectrumsignal.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Chris Whitehead" To: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id h9ELe395023557 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 . 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 . 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/