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 Message-ID: <41266B94.EE092C5F@hot.pl> Date: Fri, 20 Aug 2004 23:22:28 +0200 From: Jacek Trzmiel MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Compilation errors not shown properly in Cygwin References: <206C1A53A7F2834DBB7F4BDEBA2DC9E84D664E AT mshyd3 DOT hyd DOT deshaw DOT com> Content-Type: multipart/mixed; boundary="------------B3D2D96A993C2E900E7B0304" X-IsSubscribed: yes --------------B3D2D96A993C2E900E7B0304 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 7bit "Rajagopalan, Karthik" wrote: [...] > I am > trying to compile a C program through "Makefile" from Cygwin. This C > program has syntax errors which are supposed to be shown by Cygwin when > running C compiler. It just indicates the following lines and stops : > > make: *** [/cygdrive/h/test.obj] Error 1 > > If I run the C program without using "Makefile" from Cygwin, errors are > properly indicated. [...] If you does invoke VC compile in Makefile like this: > msdev MakeTest.dsp /MAKE "MakeTest - Win32 Debug" then use this workarounds: > msdev.com MakeTest.dsp /MAKE "MakeTest - Win32 Debug" or that one: > bash -c '{ msdev MakeTest.dsp /MAKE "MakeTest - Win32 Debug" | cat; [ "$${PIPESTATUS[0]}" = 0 ]; }' This is probably issue somehow related to: http://groups.yahoo.com/group/vimdev/message/33770 In case any Cygwin developer care to debug this problem, I've prepared minimal test case. Attached MakeTest.tgz contains VC++ 6.0 project and Makefile: MakeTest/Makefile MakeTest/MakeTest.cpp MakeTest/MakeTest.dsp MakeTest/MakeTest.dsw There is intentional syntax error in MakeTest.cpp file. Makefile does have two targets: > all: > msdev MakeTest.dsp /MAKE "MakeTest - Win32 Debug" > > betterall: > bash -c '{ msdev MakeTest.dsp /MAKE "MakeTest - Win32 Debug" | cat; [ "$${PIPESTATUS[0]}" = 0 ]; }' Steps to reproduce: - Unpack attached tgz - Make sure that directory with 'msdev.exe' from Visual C++ 6.0 is in your PATH (usually c:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\) - start bash in normal windows console (NOT rxvt) - cd to MakeTest directory - type 'make all' Output will NOT contain messages from msdev: > $ make all > msdev MakeTest.dsp /MAKE "MakeTest - Win32 Debug" > make: *** [all] Error 1 - type 'make betterall' Output WILL contain messages from msdev: > $ make betterall > bash -c '{ msdev MakeTest.dsp /MAKE "MakeTest - Win32 Debug" | cat; [ "${PIPESTATUS[0]}" = 0 ]; }' > --------------------Configuration: MakeTest - Win32 Debug-------------------- > Compiling... > MakeTest.cpp > d:\Sources\MakeTest\MakeTest.cpp(6) : error C2059: syntax error : '}' > d:\Sources\MakeTest\MakeTest.cpp(6) : warning C4508: 'main' : function should return a value; 'void' return type assumed > Error executing cl.exe. > > MakeTest.exe - 1 error(s), 1 warning(s) I've encountered this problem long long time ago, so it's not some recent regression. Both invocations of msdev from Makefile display messages correctly under rxvt console. Win2kSP4, all updates, cygwin1.dll snapshot 20040720, make 3.80-1, Visual C++ 6.0. Regards, Jacek. BTW: Shouldn't Cygwin and/or bash give preference to *.com over *.exe as windows' cmd does? Currently if you have t.exe and t.com in some directory in your path and you'll type 't' in shell then cygwin will start t.exe, and windows' cmd will start t.com. --------------B3D2D96A993C2E900E7B0304 Content-Type: application/x-compressed; name="MakeTest.tgz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="MakeTest.tgz" H4sIAJFqJkEAA+1Z+2/aSBDOr4fE/zCllZpULRjMo0fLSQQMh8pLmFyu7VVo sTewF+O1/MhDufzvN+sHj0Kg7QXau/MokfcxO/t5dufz7NIhl3RIHTdztD+R pLxUKpXwKWWxGDylrHhGcpSVstlsvliQpNyRlJVzcu4ICnvENBfPcYkNcFTV Z8xkjmsTl9vOul6Xm/QQeA4snWj9ReGCGft4R7Ha29Y/VyqG61+QS/ki6udL WfkIpD1gWZP/+fonE8kEMYxyMvHTzNHpVVrjM4g2RVp3LMh0qu8USEVt8ArO mSnnoE7H3iQlxicTY+q61A7tjIkzhVcaPL+DbzIJf4FG3DfwEVLPnt31W31F HVaHZ+pH6dN9Ciogwac3cP9czPu9vffvl5X49xdIs6xHnmNX/Ev5fBj/+UIh J6N+IV8oxfF/CBFRxEwXZoSZxyfJxF0yASg2dT3bTCbu4yj7b8t6/CNBP/Ic O+K/VJTlRfz73/9CQYq//weRp9Bhms0dfuHi5/eKGtyiNqiupzMOfZv/STUX GpgX4ke6S2a0Mv9qp7ClT7RLMqHQuzapXXmb/yWZ2GqwSVGPuFSHU48Zum/4 JTS4PSMu/EZth3ETimlJEnZevIB6D7q9ISj11hCrgouewrA6aA7f9zF/CJKG 45vXxROocdPhiLJqWQbD9AENpUC6wY0mi2G1RrOyOd1IJp50FFWtNhUYTpkD +GdyFwhcEYPpyItBWpyGIYexD9oValboGs9h5gS6IqF5uWTKcyjqUVBuLG67 ECXXgKnQjJg6iH/bM5dGLBV9a5C5WGRIaYSRSm/Wfs89zJdMcCyqsYtbRK5x 84JNPNv3AlxPqSnmMudAlwaPb0FHZH6fwDsjuHaA3gIcKRoiwAYz0Qe4UkBv yMwyaPmrsAuTlYdzyE2W+txx2Fj4bMqZRh24wMlXX43YD8FYn2pADUocmoJj zE9xA+LwnRvoZKvFMFv9RnvBZj6lE2ZGcSYa+oNeH6qGwa/71K75b1unFjV1 amoMnSDNlVRNG4mBIiohlVppb3ONGH3iTv2OWr9f0Yw0vaHJxECtVWwtKCOa VgMwyz7G1TnB1LqyxW8BXn+G06qqwJlDR51GbQnQvNl3zKjNxjaxVzH7Kj3P tTx3VGc2pBbWlzVaJp4mZlRnSBXb9IbEntDQ0qJrHdl2UFvxfAGUNRTVej3A h46HjMkNPuGQOZch0/wdMr0cZOq4V1pdOZfyi926cnrWDMqjWq+r9tpKWOuc 1lQsvsdxjTpktMj8/iz7wHGXQMZA/sxLP0NGnxuKlB7uP1Vrcq4ydjRBnME2 W7Lr90bA5z2rje1W9x2aQMK5XBsf9MEltU1qyLm0wcaCau2wONFZWLpmpmNx bvgV5DDdmIQ9RL8iVqTmTKkR2cFgXZSI50bmPaYHrfpYixSwqFlh5cdCM98U jjd2bh2XzspayEQZJPcp0ni5Jb8uRm6NPfp4HkU+VdqqsptTF1cn38io2YcZ NbK9nU83af0TNs1uZNPPZtkJ42uYdBZw3ocW8p7+Oe+Nvpj3mh9gK63uZZrN HDvawbGjmGN/DDTbGEEXO3qVGCBj6WP31qJlh1puTLwHcrNg424dyXg50w4Y JmgJEuctCe+DKgvaCqyq3LM16p9mhWm1dzaoKZX0H8t3qkJbwYPUim7QFIEK avPDwEHO/5vuf64feY4d9z94RF/c/8iS5N//FnPx/c8hZMtlzTm3Lx2LhJv1 wWua8+qg2+o2yyuXNb0B1JW2MsSs4teWCue9wTu1X60p0Gi1lSd+/D2uCJNh 5JQXEZtaDkLxy9PGKyscGTRW3hawend3l0zc39+vdOQ/69gD/KbBx0T8gvYl eOT94/neWzOWWGKJJZZYYtmT/A0ee8m9ACgAAA== --------------B3D2D96A993C2E900E7B0304 Content-Type: text/plain; charset=us-ascii -- 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/ --------------B3D2D96A993C2E900E7B0304--