Re: [gentoo-user] libselinux.so.1 dependency problems
Andreas, 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: 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 -- Vladimir G. Ivanovic signature.asc Description: OpenPGP digital signature
Re: [gentoo-user] libselinux.so.1 dependency problems
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
[gentoo-user] libselinux.so.1 dependency problems
Since the package sys-libs/libselinux is masked --- at least on AMD64 it is --- I ran 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 -- gentoo-user@lists.gentoo.org mailing list