[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian libc5 to libc6 Mini-HOWTO (regular posting, updated)



Notes on handling the new libc5 upgrade in the latest stable update are at
the end.


  Debian libc5 to libc6 Mini-HOWTO
  Scott K. Ellis, storm@gate.net
  $Id: libc5-libc6-Mini-HOWTO.sgml,v 2.9 1997/10/14 02:46:50
  storm Exp $

  1.  Introduction

  The Debian project is currently in the process of putting together the
  next release of the Debian system.  This version will utilize the new
  libc6, a replacement for the prior libc5 which includes many
  enhancements and brings the Linux C library back into sync with the
  GNU project.  We are doing this in a way to allow you to continue to
  utilize your older software by providing development and operating
  environments for both C libraries.  However, all packages in the new
  release will be linked with the new C library.  This has made it
  slightly more difficult to install packages from the unstable branch
  of our development tree into a working system.  There is a slight
  possibility of making your system unbootable in the process, this
  guide is intended to help you avoid such problems.

  1.1.  Recent Changes:

  o  Updated note about /etc/nsswitch.conf

  o  Note about vthunk change with glibc 2.0.5c.

  o  Seperated bash upgrade from required upgrade.

  o  Note on how to upgrade via dpkg-ftp.

  o  Notes about NIS and libgdbm (perl) issues.

  o  Note about libc6-based e2fsck being bad for large partitions.

  1.2.  Finding updates

  The latest version of this Mini-HOWTO should be available in the
  following locations:

  o  <http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html>

  o  <http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.txt>

  o  <http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.sgml>

  o  <ftp://ftp.debian.org/pub/debian/doc/libc5-libc6-Mini-HOWTO.txt>

  o  <ftp://ftp.debian.org/pub/debian/doc/libc5-libc6-Mini-
     HOWTO.html.tar.gz>

  1.3.  Copyright and Disclaimer

  This Mini-HOWTO is covered by the copyright of and may be further
  redistibuted under the same terms as other HOWTOs from the LDP.

  As always, this document comes with NO WARRANTY.  These comments are
  based on my personal experience and experimentation.  While this
  worked for me off a freshly installed v1.3.1 system, you mileage may
  vary.  Please send any comments or corrections to storm@gate.net.

  2.  Requirements

  2.1.  Minimum Requirements

  The minimum list of packages to install to be able to run unstable-
  branch packages is below.  Install these packages one at a time in
  exactly the order listed.  When versions are mentioned, that is a
  minimum suggested version, any later version should also be
  acceptable.

  o  ldso_1.9.5-1

  o  libc6_2.0.4-1

  2.2.  Upgrading bash

  While you can install many libc6 package with just ldso and libc6, you
  will probably want to upgrade a few other packages as well.  Since
  bash-2.01 fixes problems experienced with Netscape and helper
  applications, it is one of the more likely packages to need updated.
  However, it is also one of the few packages that is capable of
  rendering your system useless if upgraded incorrectly.  Install the
  packages below one at a time in exactly the order listed.

  IMPORTANT: If you use dselect to do the initial upgrade of these
  packages, there is a very good possibility of breaking bash and
  therefore making your system unusable.

  o  ncurses3.0_1.9.9e-2

  o  ncurses3.4_1.9.9g-3

  o  libreadline2_2.1-4

  o  libreadlineg2_2.1-4

  o  bash_2.01-2

  2.3.  Other Suggested Packages

  These packages are not absolutely essential for the functioning of the
  packages in unstable, but are still very useful.  The new dpkg-dev may
  be necessary for unpacking source archives from unstable, and the new
  dpkg-ftp is needed if you wish to use the ftp method of dselect to
  upgrade your system to the unstable distribution.

  o  libg++272_2.7.2.5-2

  o  dpkg_1.4.0.19

  o  dpkg-dev_1.4.0.19

  o  dpkg-ftp_1.4.9

  2.4.  Other Possible Conflicts

  Since perl is used in many package installation scripts, problems with
  with library upgrades may temporarily break perl, which may break
  other package installations.  To be safe, install the new libgdbm1 and
  then the new libgdbmg1 packages by hand before upgrading perl.

  3.  Development

  If you wish to do libc6 development, you should first purge all the
  '-dev' packages on your system, the new development system will use
  packages with the suffix '-dev' for libc6 development and '-altdev'
  for libc5 development.  You will wish to install the latest libc5
  package, and altgcc if you wish continue to do libc5 development as
  well.  Some libraries haven't been recompiled for the new libc6 yet,
  check that all your vital libraries are available before upgrading.
  Linking libc5-based libraries with libc6-based programs will have
  unpredictable results.

  4.  Concerns

  4.1.  Upgrading to libc6_2.0.5c-0.1

  Due to a change in the vthunk handling code in libc6 and libg++, you
  must upgrade to at least libg++272_2.7.2.8-0.1 when upgrading libc6.

  4.2.  Upgrading bash

  The package bash_2.01-1 requires that you have libreadlineg2_2.1-3 or
  greater installed.  If you install the new bash package before
  installing the new libreadlineg2, you will break your system.
  bash_2.01-2 has the appropriate predepends lines, but may not yet be
  to your mirror.

  4.3.  /sbin/e2fsck

  The e2fsck program in e2fsprogs_1.10-4 has a bug in it which will
  cause it to destroy data on partitions above 2GB in size.  The version
  in e2fsprogs_1.10-5 has fixed this bug.  IMPORTANT: If you run the
  older libc6-based e2fsck on a 2 GB or greater partition, YOU WILL LOSE
  DATA.

  4.4.  /usr/bin/gencat

  Note also that both the man-db and the libc6-dev packages currently
  include /usr/bin/gencat.  The version of gencat in libc6-dev has been
  reported to cause segfault problems with man-db, you may wish to
  reinstall man-db after libc6-dev if you experience these problems.

  4.5.  /etc/nsswitch.conf (NIS/YP)

  Handling of NIS/YP has changed slightly with libc6.  If you are using
  NIS, you will probably need to change /etc/nsswitch.conf, the compat
  option will preserve the libc5 behavior.  You should also change the
  networks line from files dns to files.  This will prevent network
  configuation programs from attempting to resolve hostnames.

  4.6.  Upgrading to unstable by FTP

  The directory structure of the ftp site has been slightly modified,
  placing the contrib and non-free sections of the archive alongside the
  main section, to avoid contrib and non-free getting out of sync with
  earlier portions of the archives.  You must have dpkg-ftp_1.4.9 or
  greater to update your machine using dpkg-ftp.  If you are updating
  your machine via ftp, the proper information to give dpkg-ftp is:

  o  Enter debian directory: /debian

  o  Enter space seperated list of distributions to get:
     dists/unstable/main dists/unstable/non-free dists/unstable/contrib

  4.7.  libc5_5.4.33-6

  Debian 1.3.1r4 included an update to libc5 which conflicts with libc6.
  The conflict was added because of problems with locales and the format
  of the utmp/wtmp files.  An older version of libc5 which doesn't
  conflict, as well as the development librarys, is saved at
  <ftp://ftp.gate.net/pub/users/storm/>.

-- 
Scott K. Ellis <storm@gate.net>                 http://www.gate.net/~storm/


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: