Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 9517 - Emerge -c world removes libncurses.so.5
Summary: Emerge -c world removes libncurses.so.5
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Nicholas Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-10-22 17:21 UTC by Steve Coffman
Modified: 2011-10-30 22:19 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Coffman 2002-10-22 17:21:38 UTC
My downgrade from ncurses 5.3 to 5.2.200205011-r2 followed by a clean ate my
libncurses.so.5

Last night I did:
emerge sync; emerge -u world
this morning I did:
emerge sync; emerge -u world; emerge -c world

Due to unfortunate timing, the first part caused ncurses-5.3 (not yet masked) to
be installed and the second part "upgraded" to the older stable version (since
5.3 is now masked) and then the clean removed libncurses.so.5, which pretty much
prevented portage from doing anything useful. I was able to use rpm with a
redhat i386 copy of ncurses to get things working enough to fix things, but I
think the clean behavior might be messed up. It could be due to the unique
circumstances though, but I thought I'd report it.

Let me know if any other details are useful if this turns out to be a valid bug.
Comment 1 Kevyn Shortell (RETIRED) gentoo-dev 2002-10-23 02:48:37 UTC
It also removed sed, automake and autoconf and a few other utilities required by
portage to function correctly. Using portage .38. Now have a doorstop =(
Comment 2 Kevyn Shortell (RETIRED) gentoo-dev 2002-10-23 02:58:59 UTC
additional information:

I've tried to compile and run the following simple program:

#include <stdio.h>
int main() { printf("Ok\n"); exit(0); }

I used the command:

        cc -o try -O2 -pipe -mcpu=750 -mpowerpc-gfxopt -mmultiple -mstring
-DDEBUGGING -fno-strict-aliasing -L/usr/local/lib try.c -lnsl -lndbm -lgdbm -ldb
-ldl -lm -lc -lcrypt -lutil
        ./try

and I got the following output:

/usr/lib/libdb.so: undefined reference to `pthread_mutexattr_destroy'
/usr/lib/libdb.so: undefined reference to `pthread_mutexattr_init'
/usr/lib/libdb.so: undefined reference to `pthread_mutex_trylock'
collect2: ld returned 1 exit status
I can't compile the test program.

Comment 3 Kevyn Shortell (RETIRED) gentoo-dev 2002-10-23 07:02:38 UTC
In further testing and digging, it mangles the links for libncurses* in /lib. So
it would appear that portage has an issue with symlinks when unmerging multiple
instances of a package that requires, or creates links.

Copied over binaries packages of autoconf, automake, sed, and fixed symlinks and
was able to re-emerge a new ncurses. Makes me wonder what else was deleted thought. 
Comment 4 Nicholas Jones (RETIRED) gentoo-dev 2002-10-23 10:29:00 UTC
Run 'ldconfig'
You should be fine.

This is fixed >=portage-2.0.40
Comment 5 Kevyn Shortell (RETIRED) gentoo-dev 2002-10-23 12:58:25 UTC
ldconfig by itself produces 8 errors of various things reporting not to be
shared obj files. So no running ldconfig wouldn't fix this problem. Forgot to
report that was the first thing I tried.

miranda lib # ldconfig
ldconfig: /lib/ld-linux.so.1.9.11 is not a shared object file (Type: 768).

ldconfig: /lib/libdl.so.1.9.11 is not a shared object file (Type: 768).

ldconfig: /lib/ld-linux.so.1 is not a shared object file (Type: 768).

ldconfig: /usr/lib/libc.so.5 is not a shared object file (Type: 768).

ldconfig: /usr/lib/libg++.so.2.7.2.8 is not a shared object file (Type: 768).

ldconfig: /usr/lib/libstdc++-libc6.1-1.so.2 is not a shared object file (Type: 768).

ldconfig: /usr/lib/libstdc++.so.2.7.2.8 is not a shared object file (Type: 768).

ldconfig: /usr/lib/libstdc++.so.2.8.0 is not a shared object file (Type: 768).
Comment 6 Wilbert van Bakel 2002-10-23 14:14:00 UTC
I also lost my ncurses, I can not chroot (bash is complaining), but I have 
built packages, how should I install ncurses from a prebuild package?
Comment 7 Kevyn Shortell (RETIRED) gentoo-dev 2002-10-24 13:31:18 UTC
My temp workaround was to find someone with the same arch I had, and copied the 3 libncurses* files from /lib, then re-emerged ncurses.  Not elegant, but the best I could come up with at 4:20am =) 
Comment 8 Rigo 2002-10-28 02:33:45 UTC
Ehhhmm, could I ask someone to post those files (GCC 3.2, PIII) overhere ?

Rigo
Comment 9 Jacob Atzen 2002-10-28 03:59:56 UTC
Last night I did an 'emerge clean' - afterwards the symlink libncurses.5.so was
gone. Bash wasn't working, neither was login.

I solved the problem by booting from the live CD and found the libncurses.5.2.so
still in /lib. So I made the symlink by hand and things seemed to work again.
Comment 10 Nicholas Jones (RETIRED) gentoo-dev 2002-10-28 04:26:07 UTC
Kevyn Shortell's issue is a bit unique. The only one reported that way.

For everyone else, you should be able to run 'ldconfig' and get your
system back to normal. If you can't get to a shell to run 'ldconfig'
then you can boot with 'init=/bin/sash' and run ldconfig, or you
can boot with a CD and 'chroot /mnt/gentoo /sbin/ldconfig'.
Comment 11 Rigo 2002-10-30 05:35:36 UTC
works for me....

Rigo
Comment 12 Torgeir Hansen 2002-11-08 00:26:37 UTC
I don't know if this is related, but my fresh 1.2 (stage1-download) install
today resulted in libcrack.so.2 missing!
Note that the library, libcrack.so.2.7 was there and the libcrack.so link was
there, just missing the libcrack.so.2! :(