- To: libc-gnats at gnu dot org, gnats-admin at gnu dot org
- Subject: libc/2356: glibc-2.2.3 installation problem
- From: tkoeller at gmx dot net
- Date: Mon, 25 Jun 2001 18:25:02 -0400
>Number: 2356
>Category: libc
>Synopsis: Symbol 'GLIBC_2.2.3' not found by dynamic linker
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: libc-gnats
>State: open
>Quarter:
>Keywords:
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Mon Jun 25 18:25:01 -0400 2001
>Cases:
>Originator: Thomas Koeller
>Release: libc-2.2.3
>Organization:
>Environment:
host: i686-pc-linux-gnu
os: linux kernel 2.4.5
Host type: i686-pc-linux-gnu
System: Linux sarkovy.koeller.org 2.4.5 #3 Mon Jun 11 23:20:37 CEST 2001 i686 unknown
Architecture: i686
Addons: linuxthreads
Build CFLAGS: -pipe -march=i686
Build CC: /usr/bin/gcc-v2
Compiler version: 2.95.3 20010315 (release)
Kernel headers: 2.4.5
Symbol versioning: yes
Build static: yes
Build shared: yes
Build pic-default: no
Build profile: yes
Build omitfp: yes
Build bounded: no
Build static-nss: no
Stdio: libio
>Description:
After building glibc-2.2.3, I type 'make install'. At some point,
the installation aborts with an error message similar to
'libc.so.6: Missing symbol GLIBC_2.2.3, required by libpthread.so'
(I do not remember the exact wording, and I do not want to redo it,
because it trashes my entire installation). From that point on
every program that is dynamically linked against glibc (on my system,
this includes just about everything) will fail upon startup, with
ld.so complaining about a missing GLIBC_2.2.3. This is a really
nasty bug, and it happens during the course of a normal installation,
so I wonder if you are doing any testing at all before releasing
something?
>How-To-Repeat:
Build and install libc-2.2.3 including linuxthreads on
Linux 2.4.5 (Intel).
>Fix:
In order to recover, do the following:
Be sure to have a bootable disk araound, and use that to boot the
system. Mount the root partion on /mnt (or somewhere else), cd to
/mtn/lib and manually restore all the symbolic links to the libraries
previously installed, version 2.2.2 in my case. Delete the 2.2.3
libraries. This fixes everything except libpthread.so.9, which
has been overwritten by the installation.
Reboot the system. At this point, make will not work since it uses
libpthread. Rebuild make from sources, using the build.sh
script. Specify LDFLAGS as '-static' to create a statically linked
make program, and use that to rebuild and re-install glibc-2.2.2,
including linuxthreads. Finally, rebuild make without the '-static'
switch. The system is now restored to glib-2.2.2. Phew!