This is the mail archive of the mailing list for the glibc project.

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

glibc 2.1.2

Release 2.1.2 of the GNU C library is now available at

(where XX is your country code) and all the mirror sites of these
servers around the world.

It would also be available at

but somebody removed my account on this machine.  Too bad.  It is
unreliable anyway.

The new files are


together with a patch relative to the 2.1.1 release


There are also .bz2 files available which should be preferred to
preserve bandwidth.

The crypt add-on hasn't changed and therefore the version from release
2.1 should be used.


The crypt add-on is available from

There is no localedata add-on anymore as there was in glibc 2.0.  Don't
use the add-on from glibc 2.0, the necessary data already comes with the
main tar file.

This release of the library runs on the following targets:

	*-*-gnu			GNU Hurd
	i[3456]86-*-linux-gnu	Linux-2.x on Intel
	m68k-*-linux-gnu	Linux-2.x on Motorola 680x0
	alpha-*-linux-gnu	Linux-2.x on DEC Alpha
	powerpc-*-linux-gnu     Linux and MkLinux on PowerPC systems
	sparc-*-linux-gnu	Linux-2.x on SPARC
	sparc64-*-linux-gnu	Linux-2.x on UltraSPARC
	arm-*-none		ARM standalone systems
	arm-*-linux		Linux-2.x on ARM
	arm-*-linuxaout		Linux-2.x on ARM using a.out binaries

Work on ports to mips-*-linux-gnu, sparc-sun-solaris, and mips-sgi-irix6
are under way but need more work.  Help to finish the ports is welcome.

The 2.1.2 fixes several problems from former releases and is consider
very stable and reliable.  Immediately upgrading from prior versions
is encouraged.

*BUT*: updating the C library is no trivial task and it is very easy
to damage one's system.  Therefore, persons who do not exactly know
what to do, should consider using a binary distribution instead, when
they become available.  All major Linux distributors will hopefully
base their next release on glibc 2.1.2.  Don't tell us you haven't been
warned.  Another reason why not everybody should think about compiling
glibc is the disk and CPU requirements: on Intel platforms the full
build requires about 290MB plus the space you need to install it.
This number is probably higher on RISC platforms.  During the
compilation the compiler will need large amounts of virtual memory.
We are talking about 100MB on Intel and 200MB on Alpha.  If using the
`-j' option of make this numbers grow linearly.  Compiling takes more
than 4 hours on a i586@133, and still 45 minutes on a 2xi686@233.  See
the FAQ file for more numbers.

In case you decide to compile glibc yourself you need to read the file
INSTALL.  It will explain among other things which tools are
necessary.  The most important one is the compiler.  Although other
versions might work it is recommended to get gcc 2.96.  But see the
FAQ for expected failures.  In case of a problem during the
compilation with a compiler other than gcc 2.96 get the recommended
version first (at  This is especially
true for gcc which (some people believe) is a usable compiler.
But in fact it is extremely buggy and will definitely fail to compile
glibc on every platform.

The 2.1.2 release should be binary compatible with the 2.0 release.
All programs should continue to run.  There are only a few exceptions:

- some shared libraries have to be updated as well.  They are using
  details from the libc.  These libraries include the C++ library
  (libstdc++) and the curses library.  See the FAQ for more information.
  Programs using these libraries are not effected.  The number of
  problems should be significantly lower with the 2.1.2 release than
  they were with 2.1 and 2.1.1.

- some programs use *internal* symbols of the C library.  These names of
  these symbols all start with an underscore and the reason why these
  symbols are "internal" is because they change or might fall away in
  new versions of the library.  And this did happen a lot.  Don't even
  think about complaining on the libc lists about this, the programmers
  of these applications made the errors.  We have now mechanisms in
  place which will prevent this from happening again even in the presence
  of programmers unwilling to follow the rules.

For people using old pre-2.0 snapshots (this particularly affects
PowerPC users, for a while the standard glibc on powerpc was a 961212
snapshot), note that all 2.x versions are binary incompatible with
pre-2.0 snapshots.  In general, binary compatibility is not guaranteed
if you use unreleased versions of glibc.

Problems should all be reported using the `glibcbug' shell script.  Simply
run this script, fill out the information and you are set.  If at the time
you start the script it complains like this

	/usr/bin/glibcbug: emacs: command not found

simply set one of the environment variables EDITOR and VISUAL (this should
happen on every system automatically):

	env EDITOR=vi glibcbug

Before sending a bug report make sure you have read the BUGS and the
FAQ file which come with the glibc sources.  You won't even get an
answer if it is obvious you haven't read these files.  It is also
helpful to scan the appropriate newsgroups and mailing lists to see
whether somebody else already had this problem.  We also have a bug
report database with an web interface at

It is very easy to browse and chances are somebody already reported
the problem.  There is another thing we don't want to hear about: the
size.  glibc is big, but this is necessary for a multi-platform Unix

For this release I fortunately again could count on the help of
several people.  In purely random order:

	Mark Kettenis
	Geoff Keating
	Christian Gafton
	Zack Weinberg
	Thorsten Kukuk
	Andreas Schwab
	Roland McGrath
	Richard Henderson
	Philip Blundell
	Andreas Jaeger
	H.J. Lu

The list with the changes below contains a few more names.  Please
remember those names for the day you have the opportunity to thank

Changes include:

- corrections to math functions

- nscd works on SPARC ad Alpha

- malloc checks parameter

- many Hurd changes

- printf function fixes (mostly wide char related)

- header cleanups

- performance improvements

- dynamic memory cleanups

- correct return values of reentrant netdb functions (returns now error
  code, not -1).  Attention when recompiling X since it uses these
  functions incorrectly.

- fix some wide character string functions

- documentation updates

- cookie stdio streams now work

- getaddrinfo should work now

- the dynamic loader should now be absolutely thread-safe

- several character set conversion modules were corrected

- librt works a bit better despite the broken signal handling model of
  the Linux kernel

- putenv corrected according to common practice and standards
  (programs using putenv incorrectly might have some problems)

- some security fixes

- many more bug fixes

There is no reported bug left which can be fixed in this release.
There are only a few bigger (and non-critical) problems left which
either wait for a volunteer to be done or will be fixed with the glibc
2.2 release.

---------------.      drepper at  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at   `------------------------

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