lvm2: disable build with uClibc-ng

lvm2 needs floorl() amnd nearbyintl(), which uClibc does not provide
for all architectures.

The simplest solution is to just disable lvm2 for uClibc.

Fixes:
  http://autobuild.buildroot.net/results/733/733c4d52f22d5f104b835d0f1c64e8a555ec1339/
  http://autobuild.buildroot.net/results/9ce/9ce371b59f0113d10261ede919a7e4f2ce377b3c/
  http://autobuild.buildroot.net/results/e48/e48fbec55160428b84c8d3b2ca957e8f6432c8e1/

Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas: adjust commit log, as suggested by Yann E. Morin.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Baruch Siach 2017-03-30 08:29:37 +03:00 committed by Thomas Petazzoni
parent 3284e1e2b4
commit 66f136a9f6
5 changed files with 15 additions and 8 deletions

View File

@ -4,6 +4,7 @@ config BR2_PACKAGE_CRYPTSETUP
depends on BR2_USE_MMU # lvm2 depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2 depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
depends on !BR2_TOOLCHAIN_USES_UCLIBC # lvm2
select BR2_PACKAGE_POPT select BR2_PACKAGE_POPT
select BR2_PACKAGE_LVM2 select BR2_PACKAGE_LVM2
select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX
@ -15,7 +16,7 @@ config BR2_PACKAGE_CRYPTSETUP
https://gitlab.com/cryptsetup/cryptsetup https://gitlab.com/cryptsetup/cryptsetup
comment "cryptsetup needs a glibc or uClibc toolchain w/ threads, dynamic library" comment "cryptsetup needs a glibc toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_UCLIBC

View File

@ -4,6 +4,7 @@ config BR2_PACKAGE_DMRAID
depends on BR2_USE_MMU # lvm2 depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2 depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
depends on !BR2_TOOLCHAIN_USES_UCLIBC # lvm2
select BR2_PACKAGE_LVM2 select BR2_PACKAGE_LVM2
help help
dmraid discovers, activates, deactivates and displays properties dmraid discovers, activates, deactivates and displays properties
@ -12,7 +13,7 @@ config BR2_PACKAGE_DMRAID
dmraid uses the Linux device-mapper to create devices with dmraid uses the Linux device-mapper to create devices with
respective mappings for the ATARAID sets discovered. respective mappings for the ATARAID sets discovered.
comment "dmraid needs a glibc or uClibc toolchain w/ threads, dynamic library" comment "dmraid needs a glibc toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_UCLIBC

View File

@ -47,6 +47,7 @@ config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER
depends on BR2_USE_MMU # lvm2 depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2 depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
depends on !BR2_TOOLCHAIN_USES_UCLIBC # lvm2
select BR2_PACKAGE_LVM2 select BR2_PACKAGE_LVM2
select BR2_PACKAGE_LVM2_APP_LIBRARY select BR2_PACKAGE_LVM2_APP_LIBRARY
help help

View File

@ -5,6 +5,7 @@ config BR2_PACKAGE_LVM2
depends on !BR2_STATIC_LIBS # It fails to build statically depends on !BR2_STATIC_LIBS # It fails to build statically
# http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html
depends on !BR2_TOOLCHAIN_USES_MUSL depends on !BR2_TOOLCHAIN_USES_MUSL
depends on !BR2_TOOLCHAIN_USES_UCLIBC # missing floorl(), nearbyintl()
help help
This is LVM2, the rewrite of The Linux Logical Volume Manager. This is LVM2, the rewrite of The Linux Logical Volume Manager.
LVM supports enterprise level volume management of disk and disk LVM supports enterprise level volume management of disk and disk
@ -38,6 +39,7 @@ config BR2_PACKAGE_LVM2_APP_LIBRARY
endif endif
comment "lvm2 needs a glibc or uClibc toolchain w/ threads, dynamic library" comment "lvm2 needs a glibc toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_USES_UCLIBC

View File

@ -5,6 +5,7 @@ config BR2_PACKAGE_UDISKS
depends on BR2_USE_MMU # lvm2 depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2 depends on !BR2_STATIC_LIBS # lvm2
depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
depends on !BR2_TOOLCHAIN_USES_UCLIBC # lvm2
select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB select BR2_PACKAGE_DBUS_GLIB
depends on BR2_USE_WCHAR # dbus-glib -> glib2 depends on BR2_USE_WCHAR # dbus-glib -> glib2
@ -40,7 +41,8 @@ comment "udisks needs udev /dev management"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV depends on !BR2_PACKAGE_HAS_UDEV
comment "udisks needs a glibc or uClibc toolchain w/ wchar, threads, dynamic library" comment "udisks needs a glibc toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL \
|| BR2_TOOLCHAIN_USES_UCLIBC