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

Re: Problem: bash 2.01 dumps core!



Christian Hudon:
> I hit a <ahem> small problem while installing packages from
> Incoming... Bash now dumps core on startup. And one of the interesting side
> effects of this is that I can't install/remove packages anymore:
 
> The bash install failed because I didn't have libreadlineg2 installed. Then
> at some point in the middle (can't more precise, I can't scroll back far
> enough) all the prerm's started dumping core when invoked.

FWIW, I hit the same problem yesterday. I was only trying to install 3
packages, the new bash, libreadlineg2 and libreadlineg2-dev. Dpkg didn't
want to let me remove libreadline2 so I could replace it with libreadlineg2,
so I did a --force-depends and managed to trash my system. 

I found the fix easy - copy an older version of bash over via a nfs link 
and then downgrade the packages.

I've tried to reproduce my problems of last night again, so I can show the
actual error messages. Here we go..

First the obvious thing, which of course doesn't work..

[root@kite] /tmp>dpkg -i bash_2.01-0.1_i386.deb
dpkg: regarding bash_2.01-0.1_i386.deb containing bash, pre-dependency
problem:
 bash pre-depends on libreadlineg2 (>= 2.1-2.1)
dpkg: error processing bash_2.01-0.1_i386.deb (--install):
 pre-dependency problem - not installing bash
Errors were encountered while processing:

So I tried to install that library:

[root@kite] /tmp>dpkg -i libreadlineg2_2.1-2.1_i386.deb
Selecting previously deselected package libreadlineg2.
dpkg: regarding libreadlineg2_2.1-2.1_i386.deb containing libreadlineg2:
 libreadlineg2 conflicts with libreadline2 (<< 2.1-2.1)
  libreadline2 (version 2.1-2) is installed.
dpkg: error processing libreadlineg2_2.1-2.1_i386.deb (--install):
 conflicting packages - not installing libreadlineg2
Errors were encountered while processing:
 libreadlineg2_2.1-2.1_i386.deb

So then tried to install the library and bash at the same time (along with
the libreadline -dev package):

[root@kite] /tmp>dpkg -i libreadlineg*.deb bash*.deb
(Reading database ... 35086 files and directories currently installed.)
Preparing to replace libreadlineg2-dev 2.1-2.1 (using
libreadlineg2-dev_2.1-2.1_i386.deb) ...
Unpacking replacement libreadlineg2-dev ...
dpkg: considering removing libreadline2 in favour of libreadlineg2 ...
dpkg: no, cannot remove libreadline2 (--auto-deconfigure will help):
 bash pre-depends on libreadline2 (>= 2.1)
  libreadline2 is to be removed.
dpkg: regarding libreadlineg2_2.1-2.1_i386.deb containing libreadlineg2:
 libreadlineg2 conflicts with libreadline2 (<< 2.1-2.1)
  libreadline2 (version 2.1-2) is installed.
dpkg: error processing libreadlineg2_2.1-2.1_i386.deb (--install):
 conflicting packages - not installing libreadlineg2
dpkg: regarding bash_2.01-0.1_i386.deb containing bash, pre-dependency
problem:
 bash pre-depends on libreadlineg2 (>= 2.1-2.1)
  libreadline2 is to be removed.
dpkg: regarding libreadlineg2_2.1-2.1_i386.deb containing libreadlineg2:
 libreadlineg2 conflicts with libreadline2 (<< 2.1-2.1)
  libreadline2 (version 2.1-2) is installed.
dpkg: error processing libreadlineg2_2.1-2.1_i386.deb (--install):
 conflicting packages - not installing libreadlineg2
dpkg: regarding bash_2.01-0.1_i386.deb containing bash, pre-dependency
problem:
 bash pre-depends on libreadlineg2 (>= 2.1-2.1)
dpkg: error processing bash_2.01-0.1_i386.deb (--install):
 pre-dependency problem - not installing bash
dpkg: dependency problems prevent configuration of libreadlineg2-dev:
 libreadlineg2-dev depends on libreadlineg2 (= 2.1-2.1); however:
  Package libreadlineg2 is not installed.
dpkg: error processing libreadlineg2-dev (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libreadlineg2_2.1-2.1_i386.deb
 bash_2.01-0.1_i386.deb
 libreadlineg2-dev

At this point, no harm has been done, but I'm stuck... I can't see any way
to make it install bash and the libreadlineg2 package. So I start forcing
things, and immediatly break my system:

[root@kite] /tmp>dpkg --force-depends -i bash_2.01-0.1_i386.deb
dpkg: regarding bash_2.01-0.1_i386.deb containing bash, pre-dependency
problem:
 bash pre-depends on libreadlineg2 (>= 2.1-2.1)
dpkg: warning - ignoring pre-dependency problem !
(Reading database ... 35086 files and directories currently installed.)
Preparing to replace bash 2.0-3 (using bash_2.01-0.1_i386.deb) ...
Unpacking replacement bash ...
dpkg: bash: dependency problems, but configuring anyway as you request:
 bash depends on libreadlineg2 (>= 2.1-2.1); however:
  Package libreadlineg2 is not installed.
Setting up bash (2.01-0.1) ...
sh: error in loading shared libraries
: undefined symbol: tilde_expansion_preexpansion_hook
dpkg: error processing bash (--install):
 subprocess post-installation script returned error exit status 127
Errors were encountered while processing:
 bash
[root@kite] /tmp>bash
bash: error in loading shared libraries
: undefined symbol: tilde_expansion_preexpansion_hook

Fixing the problem:

[root@kite] /tmp>cp bash /bin/bash
[root@kite] /tmp>bash
bash-2.00# exit
[root@kite] /tmp>dpkg -C
The following packages have been unpacked but not yet configured.
They must be configured using dpkg --configure or the configure
menu option in dselect for them to work:
 ddd                  The Data Display Debugger, a graphical frontend
forGDB.
 libreadlineg2-dev    GNU readline and history libraries, development
files.[l
 libgdbmg1-dev        GNU dbm database routines (development files)
[libc6vers
 lftp                 Sophisticated command-line FTP client programs

The following packages are only half configured, probably due to problems
configuring them the first time.  The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
 bash                 The GNU Bourne Again SHell

[root@kite] /tmp>dpkg -i /var/mirror/debian/hamm/hamm/binary/base/bash_2.0-3.deb
(Reading database ... 35089 files and directories currently installed.)
Preparing to replace bash 2.01-0.1 (using .../binary/base/bash_2.0-3.deb)
...
Unpacking replacement bash ...
Setting up bash (2.0-3) ...

I have now figured out how to make it work, though:

dpkg --force-depends -i bash.deb libreadlineg2.deb

This seems to work ok, but is dselect going to know how to do it? I don't
think so.

-- 
see shy jo

I've been on vacation - sorry for any delay in this email.


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


Reply to: