delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2002/07/12/15:37:06

Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT cygwin DOT com>
List-Help: <mailto:cygwin-developers-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT cygwin DOT com
Delivered-To: mailing list cygwin-developers AT cygwin DOT com
Date: Fri, 12 Jul 2002 15:37:12 -0400
From: Christopher Faylor <cgf AT redhat DOT com>
To: cygwin-developers AT cygwin DOT com
Subject: Re: Available for test: gcc-3.1.1-2 gcc2-2.95.3-8
Message-ID: <20020712193712.GD9546@redhat.com>
Reply-To: cygwin-developers AT cygwin DOT com
Mail-Followup-To: cygwin-developers AT cygwin DOT com
References: <20020711044304 DOT GA3292 AT redhat DOT com> <021001c229d2$e8f55b60$6132bc3e AT BABEL> <3D2F2B26 DOT 4040201 AT ece DOT gatech DOT edu>
Mime-Version: 1.0
In-Reply-To: <3D2F2B26.4040201@ece.gatech.edu>
User-Agent: Mutt/1.3.23.1i

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 -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019