public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] libselinux.so.1 dependency problems
@ 2008-07-06  6:55 Vladimir G. Ivanovic
  2008-07-07 23:49 ` Andreas Niederl
  0 siblings, 1 reply; 3+ messages in thread
From: Vladimir G. Ivanovic @ 2008-07-06  6:55 UTC (permalink / raw
  To: gentoo-user

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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [gentoo-user] libselinux.so.1 dependency problems
  2008-07-06  6:55 [gentoo-user] libselinux.so.1 dependency problems Vladimir G. Ivanovic
@ 2008-07-07 23:49 ` Andreas Niederl
  2008-07-08 22:08   ` Vladimir G. Ivanovic
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Niederl @ 2008-07-07 23:49 UTC (permalink / raw
  To: gentoo-user

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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [gentoo-user] libselinux.so.1 dependency problems
  2008-07-07 23:49 ` Andreas Niederl
@ 2008-07-08 22:08   ` Vladimir G. Ivanovic
  0 siblings, 0 replies; 3+ messages in thread
From: Vladimir G. Ivanovic @ 2008-07-08 22:08 UTC (permalink / raw
  To: gentoo-user, rico32

[-- Attachment #1: Type: text/plain, Size: 2291 bytes --]

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



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-07-08 22:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-06  6:55 [gentoo-user] libselinux.so.1 dependency problems Vladimir G. Ivanovic
2008-07-07 23:49 ` Andreas Niederl
2008-07-08 22:08   ` Vladimir G. Ivanovic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox