emerge --depclean --verbose sys-libs/libselinux
and the only reverse dependency it reported was python-selinux. So I
removed both packages and severely broke my system.
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?)
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.
I do not have USE="selinux" anywhere, and I never have. There is no
"selinux" in the output of "emerge --info", and none of the build
environment files I've checked contain "selinux". "libselinux.so.1" is
not in directory in /etc/ld.so.conf. Adding USE="-selinux" on the
command line or in /etc/make.conf does not make any difference.
revdep-rebuild lists 37 packages, in particular many GNOME packages,
that depend on libselinux.so.1, but I don't seem to be able to
re-emerge any of them.
I ran
for pkg in $(equery depends libselinux | cut -d' ' -f1); do
eix -e $(qatom ${pkg} | cut -d' ' -f2)
done
and every package shown that depends on libselinux has actually been
installed with "-selinux". (BTW, revdep-rebuild and "equery depends"
don't agree on which packages depend on libselinux.so.1.)
What gives? Where does the "-lselinux" come from? How can I get rid of
this maddening dependency?
Thanks for any help.
BTW, as a temporary measure, I've created an empty libselinux.so.1
that seems to satisfy ld.
--- Vladimir
--
Vladimir G. Ivanovic
--
gento...@lists.gentoo.org mailing list
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
--
gento...@lists.gentoo.org mailing list
Thanks very much for the information.
Yes! I do seem to have *.la files with "-lselinux" in them. It looks
like I'm going to have to do some purging and re-emerging to fix things.
Thanks again.
--- Vladimir
on 07/07/2008 04:49 PM Andreas Niederl said the following:
--
Vladimir G. Ivanovic