These are copies of the latest versions:

The complete tarball: libg++-2.8.1.3.tar.gz

If you want to download the files, simply right click (in netscape) on the links and choose "Save Link As...".

Manfred Hollstein <manfred.h@gmx.net>
2000/03/12


History:

2000/11/26:
  - Now that libstdc++ V3 is the default in gcc, I decided to no longer
    support libg++.

2000/11/01:
  - Here you find patches to build libg++ with the gcc-2.96 shipped
    with Red Hat Linux 7 plus the RPM itself. These are the instructions:

    1. Get the files and store them in /usr/src/redhat/SOURCES:
       Source1: libg++-2.8.1.3.tar.gz
       Patch101: libg++-2.8.1.3-20000312.diff.gz
       Patch102: libg++-2.8.1.3-20000419.diff.gz
       Patch103: libg++-2.8.1.3-20000816.diff.gz
       gcc.spec.patch
       libg++-2.8.1.3-files.lst
       gcc-libio.patch
       gcc-libg++-config.patch

    2. Apply gcc.spec.patch to the file gcc.spec from the
       original gcc-2.96 src.rpm file of Red Hat Linux 7.

    3. Change LIBGXX's definition in gcc.spec to 1

    4. Build as usual; you'll get two additional packages:
       libg++-2.96-54.1.redhat7.i386.rpm
       libg++-devel-2.96-54.1.redhat7.i386.rpm

    If you don't want to build them yourself, you can download them
    here:
       libg++-2.96-54.1.redhat7.i386.rpm
       libg++-devel-2.96-54.1.redhat7.i386.rpm

2000/09/14:
  - Recent versions of gcc fail to create out-of-line functions
    for a number of methods in the Rational and Fix classes.
    Although the bug should be fixed in gcc, I decided to work-around
    the problem by disabling the optimizer due to lack of time.

    The patch can be found here: libg++-2.8.1.3-20000914.diff.gz patch here.

2000/08/16:
  - Running "make check" with recent gcc-2.96 versions resulted in a
    failure for the "tRandom" program. Further inspection shows that
    this is caused by gcc using extended representations for some of
    the floating point comparisons where it shouldn't; a comment in
    RNG.cc was indicating this, and indeed, adding `-ffloat-store' to
    the compilation flags used to build libg++ fixes this.

    You can download the libg++-2.8.1.3-20000816.diff.gz patch here.

2000/04/19:
  - The last patch didn't cover all occurrences of the ISO C++ operators.
    I've replaced it with a new version libg++-2.8.1.3-20000419.diff.gz
    which I sanity-checked by building a checkout of gcc from the CVS mainline
    today.

2000/04/19:
  - The recent enabling of ISO C++ keywords and, or and xor broke
    some libg++ classes.  They'd already (mostly) refrain from using those
    keywords when compiling in strict ANSI/ISO compliance mode, certainly
    because of this issue, but now they fail.  Alexandre Oliva provided a
    quick quick hack that allows libg++ to keep building; I made some slight
    modifications to it and copied it to

      <ftp://ftp.gnu.org/pub/gcc/infrastructure>

    You can also download it here.

2000/03/12:
  - Recent gcc snapshots are more standard conformant in access checking
    on types. This is the fix needed for libg++.

2000/03/07:
  - Heard about problems with recent gcc snapshots; will investigate and
    upload a fix if necessary.
  - Fixed URLs.

1999/02/23:
  - libg++-2.8.1.3 is officially released! You can get the files at

    libg++-2.8.1.3.tar.gz
    libg++-2.8.1.2-2.8.1.3.diff.gz

1998/12/18:
  - Release snapshot of today.
    This includes more fixes for even more ISO/C++ compliant "egcs" snapshots.
    See below for a list of changes.

1998/12/09:
  - Release snapshot of today.
    This includes fixes of various priority; some of them are absolutely
    necessary if you are trying to build libg++ with recent "egcs" snapshots.
    Please see below for a list of changes.

1998/11/14:
  - Release snapshot of today.

1998/11/01:
  - Add support for egcs' new ``--enable-languages="..."'' option
    to avoid building this library if no particular cc1plus compiler
    is around.

1998/10/10:
  - Add support for people that don't have DejaGnu installed.

1998/10/02:
  - Fix a problem on SCO systems, patch from Robert Lipe <robertl@dgii.com>.

1998/10/01:
  - Run DejaGnu based testsuite as early as possible to avoid "silent death"
    due to earlier "make check" errors; add support for people that don't
    have DejaGnu installed.

1998/09/13:
  - If you are having problems with libg++'s configuration, you might
    need this patch from Alexandre Oliva.

1998/09/09:
  - libg++-2.8.1.2 is officially released! You can get the files at

    libg++-2.8.1.2.tar.gz
    libg++-2.8.1.1a-2.8.1.2.diff.gz

1998/09/08:
  - Patch to actually fix symbolic links for the new library interface,
    even for multilib and cross configurations.

1998/09/05:
  - Patch from H.J. added to fix broken symbolic links for the new
    library interface.

1998/09/02:
  - Patch from H.J. added to be prepared for broken "ln" programs.

1998/08/31:
  - Merged libg++-2.8.1.1a, H.J. Lu's libg++-2.8.2-980828 and
    Cygnus' latest development version.


From the README.libg++:

This is a libg++ addon for current egcs releases (e.g. egcs-1.1)
and libstdc++ 2.8.1.1.  It is needed only if your applications depend on
libg++ and you cannot easily remove the dependency on libg++.
The standalone libg++ is no longer needed.  Note that this package
is no longer being maintained.

To install, move all the files in this directory into the directory
where you unpacked libstdc++ version 2.8.1.1 (or unpacked version
2.8.0 and applied the diff to convert it to version 2.8.1.1) or egcs-1.x.
Then you can configure/build/check/install libstdc++ or egcs normally.
Now it will include libg++.

libg++-2.8.x is collaborative work of various people, most notably
H.J. Lu and Manfred Hollstein; because libg++ is no longer being actively
maintained you should not start new C++ projects using libg++.

This is the last release before a probably major rewrite.

Changes from libg++-2.8.1.2a-19981218:

 - Fix from Cuong Nguyen <cnguyen@bbg.adc.com> to avoid a
   potential memory leak in rx.

Changes from libg++-2.8.1.2a-19981209:

 - Fix for a shared libg++ on Dec OSF.
 - Various fixes due to recent egcs snapshots' ISO/C++ compliance checking.
 - Another fix for the screen test on Linux.
 - Removal of some GNU gcc/g++ extensions used.
 - Fix for particular (non optimizing) build configurations.
 - Warnings: fix several locations.

Changes from libg++-2.8.1.2a-19981114:

 - Fix for generating g++FAQ.
 - New config go32.
 - Fix for handling --with-gxx-include-dir ourselves.
 - Fix various ISO-C++ related bugs/problems.
 - Add a missing prototype when not optimizing.
 - Fix various sign extension problems in String.
 - Fix a compatibility problem with old libc vs. current glibc.

Changes from libg++-2.8.1.2a:

 - Run DejaGnu based testsuite as early as possible to avoid "silent death"
   due to earlier "make check" errors; add support for people that don't
   have DejaGnu installed.
 - Fix a compatibility problem with some common shells.
 - Fix a problem on SCO systems.
 - Add support for egcs' new ``--enable-languages="..."'' option
   to avoid building this library if no particular cc1plus compiler
   is around.

Changes from libg++-2.8.1.1a:

 - Updated g++ FAQ.
 - Merge with current Cygnus development version.
 - DejaGNU based testsuite added (thanks to Bob Manson).
 - Fix relative path for multilib
 - Fix relative path for cross-compile.
 - Use relative path for symbolic links.
 - Include <termcap.h> in etc/lf/screen.cc for Linux.
 - Add the interface support for the library names.
 - Handle --enable-version-specific-runtime-libs.
 - Fix some parallel build bugs.
 - A librx bug fix.
 - gperf is removed from libg++. The stand-alone gperf is available at

   <ftp://ftp.gnu.org/pub/gnu>

   The current version, as of May 5, 1998, is gperf 2.7.

The libg++ and librx have been tested with

 - egcs 1.0.3 and 1.1 on linux/x86/libc 5, linux/x86/glibc 2.1 and
   linux/alpha/glibc 2.0.7, hppa1.1-hp-hpux10.20, m68k-motorola-sysv,
   m88k-motorola-sysv3, sparc-sun-solaris2.5.1, sparc-sun-solaris2.6
   and sparc-sun-sunos4.1.4.
 - gcc 2.8.1 and libstdc++ 2.8.1.1 on linux/x86/libc 5 and
   linux/x86/glibc 2.0.7, hppa1.1-hp-hpux10.20, m68k-motorola-sysv,
   m88k-motorola-sysv3, sparc-sun-solaris2.5.1, sparc-sun-solaris2.6
   and sparc-sun-sunos4.1.4.

It is available at

ftp://egcs.cygnus.com/pub/egcs/infrastructure/libg++-2.8.1.3.tar.gz

Patches for libg++ 2.8.1.2* are also available at

ftp://egcs.cygnus.com/pub/egcs/infrastructure/libg++-2.8.1.2-2.8.1.3.diff.gz
ftp://egcs.cygnus.com/pub/egcs/infrastructure/libg++-2.8.1.2a-19981114-2.8.1.3.diff.gz
ftp://egcs.cygnus.com/pub/egcs/infrastructure/libg++-2.8.1.2a-19981209-2.8.1.3.diff.gz
ftp://egcs.cygnus.com/pub/egcs/infrastructure/libg++-2.8.1.2a-19981218-2.8.1.3.diff.gz

Potential problems with libstdc++ 2.8.1.1:

1. Since gcc 2.8.1 is installed under /usr on Linux/GNU by default,
   you need to explicitly pass `--prefix=/usr' to the configure
   command for libstdc++; change "/usr" to what's appropriate on
   your system.  Otherwise incorrect header files and libraries
   may be used.

You also need to check the toplevel configure.in and configure to see
if the complete patch enclosed here is already applied (only egcs-1.0.x
releases do not include it already). If not, please do

$ patch -p0 < README.libg++

Then you can configure/build/check/install egcs normally. Now it
will include libg++.


Manfred Hollstein
manfred@s-direktnet.de
1999/02/23

Last modified on November 26, 2000.