Mail Archives: cygwin-developers/2002/07/12/15:37:06
On Fri, Jul 12, 2002 at 03:16:54PM -0400, Charles Wilson wrote:
>
>
>Conrad Scott wrote:
>
>>There's a problem compiling the cygwin_daemon branch with the gcc
>>3.1.1 compiler as Nicholas discovered today. In particular, gcc
>>can't find the <new> header file, which I need for the placement
>>new operator. This used to be in /usr/lib/gcc-lib/.../include/
>>but is now in /usr/include/c++/3.1.1/. Can I add this include
>>path to the makefile now? I can't see that it'll break anything
>>with gcc 2.X (as this include directory didn't exist previously).
>>
>>[Nb. In case something has changed here, note that I'm using other
>>than the latest release of the gcc 3.1.1 compiler:
>> gcc 3.1.1-1
>> gcc-mingw 3_1-20020516-1 ]
>
>
>No, not a good idea. gcc-3.1.1-2 fixed this behavior, I think. Plus,
>there's a gcc-3.1.1-3 coming out soon, so just chill, for now. A g++
>compiler that doesn't automatically include the directory where its own
>stdc++ library header files are stored is a broken g++ compiler and
>needs to be fixed in g++ itself -- not band-aiding every C++ program on
>earth.
Except as Conrad pointed out (and I should have known), cygwin uses
-nostdinc++. So, in this case adding the -I makes a certain sense.
Unfortunately, it means that we'll be adding one of these for every
version of the C compiler from 3.1.1 on, which isn't right. That is
for gcc 3.2, we'll need a -I /usr/include/c++/3.2, etc.
I'm not sure what the correct fix is for this. The other problem is
that the intent is to ensure that the compiler used to build cygwin is
using the correct set of include files, i.e., the ones that may be
included with it in the source directory. But finding the correct
libstdc++ files could be problematic.
So, for now, I guess the only solution is to add the path to the
Makefile along with a big flashing FIXME.
I wonder why "they" are making so many tweaks to the header file stuff
in 3.1. It seems a little to severe to be part of a minor version
number release.
cgf
- Raw text -