Hi,
Vladimir G. Ivanovic wrote:
[...]
It turns out that many, many executables require libselinux.so.1,
despite what the documentation of "--depclean" in "man emerge" says (or
what I think it says -- is this a bug or operator error?)
Sadly sys-apps/coreutils is one of them.
Recent versions - including stable - do an autodetection for libselinux
and link against it even when emerged with USE="-selinux"[1].
This should be no problem for systems which never saw libselinux (i.e.
installed from 2008.0) but unmerging this library on older systems can
be quite problematic.
I cobbled together a system that limps along thanks to the 2008.0 beta
LiveCD (which does not depend on libselinux.so.1), but I am unable to
emerge a large number of packages that seem to silently depend on
libselinux.so.1: the ebuilds fail when ld cannot find -lselinux.
[...]
What gives? Where does the "-lselinux" come from? How can I get rid of
this maddening dependency?
I think that libtool is the main offender here.
At least on my system somehow '-lselinux' made its way into a bunch of
.la files and provoked these errors.
So I searched for the packages with broken libtool archive files and
manually emerged them (with --oneshot).
I figured out the correct order by using the trial-and-error method but
you could do something like the get_build_order() function in the
revdep-rebuild script.
The command I've used for searching is as follows (requires
app-portage/portage-utils):
grep -l -r --include='*.la' selinux /usr/lib | qfile --nocolor -f - | \
cut -d' ' -f 1 | sort | uniq
Another way might be to look at the line before the error message and
rebuild the package containing the library right before the '-lselinux'
flag.
hth,
Andi
[1] http://bugs.gentoo.org/show_bug.cgi?id=230073
--
gentoo-user@lists.gentoo.org mailing list