Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 475914

Summary: >=sys-apps/systemd-205: restore IUSE="static-libs" for sys-fs/{cryptsetup,lvm2}[static]
Product: Gentoo Linux Reporter: Andrey Ovcharov <sudormrfhalt>
Component: [OLD] Core systemAssignee: Gentoo systemd Team <systemd>
Status: RESOLVED CANTFIX    
Severity: enhancement    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: http://bugs.gentoo.org/show_bug.cgi?id=472608
Whiteboard:
Package list:
Runtime testing required: ---

Description Andrey Ovcharov 2013-07-06 07:25:46 UTC
Now =sys-apps/systemd-205 as said in http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/systemd/ChangeLog?view=markup "Drop USE=static-libs since it is no longer supported." and it breaks

USE=static emerge =sys-fs/cryptsetup-1.6.1 

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/cryptsetup/cryptsetup-1.6.1.ebuild?view=markup 

deps from cryptsetup-1.6.1.ebuild

LIB_DEPEND="dev-libs/libgpg-error[static-libs(+)]
	        dev-libs/popt[static-libs(+)]
	        sys-apps/util-linux[static-libs(+)]
	        gcrypt? ( dev-libs/libgcrypt[static-libs(+)] )
	        nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] )
	        openssl? ( dev-libs/openssl[static-libs(+)] )
	        sys-fs/lvm2[static-libs(+)]
	        sys-libs/e2fsprogs-libs[static-libs(+)]
	        udev? ( virtual/udev[static-libs(+)] )"
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2013-07-06 08:11:51 UTC
Yes, both kmod and systemd (udev) upstreams decided to remove support for building static libraries libkmod.a and libudev.a
The systemd ebuild is merely following what they made
That indeed means sys-apps/systemd no longer supports USE="static" in sys-fs/lvm2 or sys-fs/cryptsetup
But there is no bug, the dependencies are correctly handle, you should simply stop using USE="static" which is stupid flag to use to begin with

Reassigning to systemd@ maintainers as a enhanchement request for getting libudev.a back, but not restoring it is fine too
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-07-06 08:46:59 UTC
configure: error: --enable-static is not supported by systemd

And even if we work around that check, I doubt that it will work correctly since upstream doesn't use private namespaces properly.
Comment 3 William Hubbs gentoo-dev 2013-07-07 21:35:00 UTC
Upstream is relying heavily on gcc symbol visibility [1]. One of the
features of using this is that you don't have to use private name spaces
the same way we did before. Their suggestion is that we should get
binutils fixed so that static libraries also support visibility if we
want to use static libraries.

[1] http://gcc.gnu.org/wiki/Visibility