From: allan AT interport DOT net (Allan Peda) Subject: [Fwd: [Fwd: Implicit make woes] Solved] 28 Nov 1998 21:32:57 -0800 Message-ID: <36603B37.DC673613.cygnus.gnu-win32@interport.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------B74BAFE29A25AB5527E11776" To: cygwin This is a multi-part message in MIME format. --------------B74BAFE29A25AB5527E11776 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I noticed a slight change in the behaviour of gcc 2.8 (as documented with gcc in cygwin20 gcc version egcs-2.91.57 19980901 (egcs-1.1 release). The man page for gcc 2.8 says multi path Includes are colon separated: http://www.tec.ualberta.ca/Documentation/Info/by-chapter/gcc-2.8.0/gcc/gcc_2.html#SEC39 directories, but cygwinB20 gcc uses a semicolon. bash-2.02$ make hello gcc hello.c -o hello hello.c:1: stdio.h: No such file or directory make: *** [hello] Error 1 bash-2.02$ . ~/.bashrc; cd - User .bashrc found.... Setting environment. /home/allan/work_area/programs bash-2.02$ set | grep C_ C_INCLUDE_PATH='/usr/include/;/usr/local/include' bash-2.02$ make hello gcc hello.c -o hello bash-2.02$ ./hello hello GNUish world! bash-2.02$ Allan Peda wrote: > I solved my own problem by reading the gcc man pages at > http://www.tec.ualberta.ca/Documentation/Info/by-chapter/gcc-2.8.0/gcc/gcc_toc.html > > This actually refers to the "RE: Where to install cygwin..." posted at > http://www.egroups.com/list/gnu-win32/md1238679643.html > > I think the FAQ should include the advice in the egroups cited mail message > _plus_ > a note that the envir variables includes should be set to follow this: > > export C_INCLUDE_PATH=/usr/local/include > export LIBRARY_PATH=/usr/local/lib > > If the directories are mounted to those locations > > Allan Peda wrote: > > > Obviously something is set wrong ($INCLUDE or similiar), but the more I > > fuss with this the worse it gets. Explicit compiling is fine: > > > > bash-2.02$ gcc hello.c -o hello.exe > > bash-2.02$ ./hello > > hello GNUish world! > > > > But an implicit make (single source, no makefile) yields: > > > > bash-2.02$ rm hello.exe > > bash-2.02$ make hello > > /bin/gcc.exe hello.c -o hello > > hello.c:1: No include path in which to find stdio.h > > make: *** [hello] Error 1 > > bash-2.02$ > > > > I tried moving stdio.h to /usr/include, but that just changed the > > error. I will probably reinstall, but I'd like to know why make should > > foul up a simple compile. > > > > Allan --------------B74BAFE29A25AB5527E11776 Content-Type: text/x-vcard; charset=us-ascii; name="allan.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Allan Peda Content-Disposition: attachment; filename="allan.vcf" begin:vcard n:Peda;Allan tel;work:718-243-1721 x-mozilla-html:FALSE adr:;;;;;; version:2.1 email;internet:allan AT interport DOT net fn:Allan Peda end:vcard --------------B74BAFE29A25AB5527E11776-- - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".