This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++/5047: stl_config.h does not install
- From: Phil Edwards <pedwards at disaster dot jaj dot com>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 7 Dec 2001 23:06:00 -0000
- Subject: Re: libstdc++/5047: stl_config.h does not install
- Reply-to: Phil Edwards <pedwards at disaster dot jaj dot com>
The following reply was made to PR libstdc++/5047; it has been noted by GNATS.
From: Phil Edwards <pedwards@disaster.jaj.com>
To: Rob Hale <hale@reboot.com>
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: libstdc++/5047: stl_config.h does not install
Date: Fri, 7 Dec 2001 18:03:34 -0500
> --------------49772E48A5D5B2C93303E22E
> Content-Type: text/plain; charset=iso-8859-1
> Content-Transfer-Encoding: base64
If you would, please just send plain text email (no HTML, no funky encodings,
no fonts, etc). Those of us not using a web browser for mailreading only see
weird 8-bit gibberish on the screen when base64 encodings are used. Thanks.
> I've tried to install the library with the compiler and separately. Neither
> method places stl_config.h into /usr/local/include while installing gcc
> v3.0.2. My confusion was brought on by the fact that an earlier version of
> the gcc compiler (2.96) installed with our Redhat distro did install
> stl_config.h.
Ah. The library used there is a different codebase, version 2. That library
has been largely unmaintained for a few years, and is somewhat old now.
The library currently shipping is version 3.
Our response to bugs in libstdc++-v3 is to ask for a full bug report in
GNATS for further analysis. Our reponse to bugs in libstdc++-v2 is usually
a noncommittal grunt. :-)
> I'm porting legacy code to Linux. The legacy code was written on an SGI
> platform and includes stl_config.h directly. I take it this is no longer the
> standard method of working with the STL?
Never was, really... Part of the confusion here is that the most common
and popular implementation of the code was maintained at SGI for years.
And if you download their (old) implementation, you'll see all the old header
files available, including stl_config.h. Code written at SGI naturally
assumes that their own implementation is in use, so their internal headers
names were safe to use in their own code.
The official C++ standard header names don't end in .h, so there's a warning
sign for you in the future. :-) If you want a list of standard headers,
just look in the g++-v3 include directory after installing GCC 3.x: the
filenames without '.' are standard (string, vector, and so forth).
Files in a "bits" subdirectory, like stl_stack.h, are hands-off in
portable code.
(I'm going to get in trouble for saying this next bit, I know...)
In the 3.x sources, the file libstdc++-v3/docs/doxygen/stdheader.cc
contains an informal mapping from internal/old/SGI filenames to the most
probable ISO-standard headers. For example, instead of including <pair.h>
use <utility> instead. This file might be of use to you.
Phil