Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 84840 - libgpm in /usr/lib, when ncurses compiled with gpm, no boot may be possible due to lvm (which depends on ncurses)
Summary: libgpm in /usr/lib, when ncurses compiled with gpm, no boot may be possible d...
Status: RESOLVED DUPLICATE of bug 80403
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 84841 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-03-11 03:03 UTC by Tobias C. Rittweiler
Modified: 2005-07-17 13:06 UTC (History)
1 user (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 Tobias C. Rittweiler 2005-03-11 03:03:42 UTC
When using LVM and /usr is on a LV, a proper system start is not possible in
case that ncurses had been built with GPM support. This is because LVM depends
on ncurses which again depends on GPM: As `libgpm' is installed into /usr/lib
which is not available at boot time, the boot process will fail.

Once you actually tried to boot into the new system, you will be confronted with
a b0rken system that you can't easily (as in non-trivially) repair. For the case
that anyone reads this who is in search for a solution, here is how I fixed my
system:

I booted from the live cd, loaded in the device mapper module (modprobe dm-mod),
initialized LVM and activated the necessary VGs (vgchange -ay), mounted the
necessary LVs to their right place in /chroot/ (e.g. /dev/vg-FOO/usr to
/chroot/usr), chrooted into that directory and emerged ncurses from there. But
beware that you have to turn off gpm support (for example, by USE=-gpm emerge
ncurses).

Reproducible: Didn't try
Steps to Reproduce:
1.
2.
3.
Comment 1 Stian Skjelstad 2005-03-11 03:15:07 UTC
Perhaps a notice message in the ebuild that lvm should be emerge'd with USE=static if you intend to have /usr on a LV.

But else from that there isn't much to say, expect perhaps libgpm and libcurses should be on the same /foo/lib directory.
Comment 2 Tobias C. Rittweiler 2005-03-11 05:15:08 UTC
Stian Skjelstad wrote

> Perhaps a notice message in the ebuild that lvm should be emerge'd with
> USE=static if you intend to have /usr on a LV.

I'd consider this a bad idea, because those messages are easily missed.
Especially when emerge --updates compiles several packages in a row---and, in
fact, this b0rkeness had been introduced by such an update and I didn't
observed it until I restarted (and then I was kind of baffled, as I hadn't
changed anything on my own.)


> But else from that there isn't much to say, expect perhaps libgpm and libcurses
> should be on the same /foo/lib directory.

Yes, this seems to be the right solution. At first I thought that gpm should check
for the `lvm' USE flag and, if set, libgpm should be installed to /lib. On
deeper reflection, this occured to me as being a bad (as in halfway) solution, 
because it would surely solve this particular case, but just _this_ case.

When ncurses is compiled with GPM support, libgpm should always be installed
where libncurses is, because quite some system and admin tools depend on it (for
instance `ls' and editors as vi, Emacs or nano). Those tools are crucial for a
basic rescue system, which the root partition should probably be. And as a 
libgpm in /usr/lib would render these tools useless, the solution to place 
libgpm where libncurses is, seems to be right.
Comment 3 Mr. Bones. (RETIRED) gentoo-dev 2005-03-11 07:53:36 UTC
*** Bug 84841 has been marked as a duplicate of this bug. ***
Comment 4 SpanKY gentoo-dev 2005-03-13 01:42:21 UTC

*** This bug has been marked as a duplicate of 80403 ***