FYI, WindRiver Tech support has solved the problem by overwriting Tornado2.2 cygwin1.dll with cygwin1.dll in the cygwin package. According to the techsupport, there are some incompatibilities between Tornado2.2 cygwin1.dll and cygwin package, which may cause the error.
Thanks,
Yu
-----Original Message-----
From: Zhang Yu
Sent: 2004年7月20日 21:52
To: [EMAIL PROTECTED]
Cc: Zhang Yu
Subject: cygwin make (GNU make v3.79.1) incompatibility with Tornado2.2 ccppc
Dear GNU make gurus,
I hit a weird error when cygwin make (GNU make v3.79.1 built for i686-pc-cygwin) is used together with Tornado2.2 ccppc. "ccppc -M" to build the dependencies for a source file will cause make to return Error 1 without error message.
I tried the following simple example to illustrate this problem:
------------
z.c
------------
#include <stdio.h>
#include <stdlib.h>
main()
{
printf ("kick!\n");
}
-------------
Makefile
-------------
all:
d:/Tornado2.2/host/x86-win32/bin/ccppc -M z.c > z.x
Using GNU make v3.79.1 built for i686-pc-cygwin, make fails with Error code 1 but without error message:
%which make
/usr/bin/make
%make -v
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 <[EMAIL PROTECTED]>.
%make all
d:/Tornado2.2/host/x86-win32/bin/ccppc -M z.c > z.x
make: *** [all] Error 1
Now execute the ccppc line directly in cygwin, succeed with z.x correctly generated:
%d:/Tornado2.2/host/x86-win32/bin/ccppc -M z.c > z.x
%cat z.x
z.o: z.c d:/Tornado2.2/target/h/stdio.h \
d:/Tornado2.2/target/h/types/vxANSI.h \
d:/Tornado2.2/target/h/types/vxCpu.h \
d:/Tornado2.2/target/h/types/vxArch.h \
d:/Tornado2.2/target/h/arch/ppc/archPpc.h \
d:/Tornado2.2/target/h/arch/ppc/ppc603.h \
d:/Tornado2.2/target/h/arch/ppc/toolPpc.h \
d:/Tornado2.2/target/h/types/vxParams.h \
d:/Tornado2.2/target/h/types/vxTypesBase.h \
d:/Tornado2.2/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/include/s
tddef.h \
d:/Tornado2.2/target/h/classLib.h d:/Tornado2.2/target/h/vxWorks.h \
d:/Tornado2.2/target/h/types/vxTypes.h \
d:/Tornado2.2/target/h/types/vxTypesOld.h \
d:/Tornado2.2/target/h/sys/types.h \
d:/Tornado2.2/target/h/tool/gnu/toolMacros.h \
d:/Tornado2.2/target/h/vwModNum.h d:/Tornado2.2/target/h/objLib.h \
d:/Tornado2.2/target/h/errno.h d:/Tornado2.2/target/h/memLib.h \
d:/Tornado2.2/target/h/private/objLibP.h \
d:/Tornado2.2/target/h/private/classLibP.h \
d:/Tornado2.2/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/include/s
tdarg.h \
d:/Tornado2.2/host/x86-win32/lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/include/v
a-ppc.h \
d:/Tornado2.2/target/h/stdlib.h
We can guess this is a cygwin make bug, because the same line can pass when not executed by make.
Now change Makefile to:
all:
# d:/Tornado2.2/host/x86-win32/bin/ccppc -M z.c > z.x
gcc -M z.c > z.x
Now make succeeds with z.x correctly generated:
%make all
gcc -M z.c > z.x
%cat z.x
z.o: z.c /usr/include/stdio.h /usr/include/_ansi.h \
/usr/include/sys/config.h \
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-4/include/stddef.h \
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-4/include/stdarg.h \
/usr/include/sys/reent.h /usr/include/time.h \
/usr/include/machine/time.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/sys/features.h \
/usr/include/cygwin/types.h /usr/include/stdlib.h
We can also guess this is a Tornado2.2 ccppc bug, because cygwin make + gcc doesn't have any problem.
Is this a known issue? Any tips/comments are greatly appreciated!
Best Regards,
Yu
_______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-make