This is the mail archive of the cygwin@sourceware.cygnus.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]

[Fwd: [Fwd: Implicit make woes] Solved]


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
begin:vcard 
n:Peda;Allan
tel;work:718-243-1721
x-mozilla-html:FALSE
adr:;;;;;;
version:2.1
email;internet:allan@interport.net
fn:Allan Peda
end:vcard

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