bedd842078
Parallel build is broken since bump to version 2.03.12 in commit80997acd35
. Commits4526078d1b
,8a313b019c
, anda7186cd1ea
tried to fix that by only installing systemd units when appropriate. It turns out that there are more cases where parallel build still fails: http://autobuild.buildroot.org/results/995/995f46ee0033e34261ba7b24b61c41e7a088602b/ >>> lvm2 2.03.12 Installing to staging directory [...] [INSTALL] ioctl/libdevmapper.so [CC] dmsetup.c /usr/bin/make -C lib install_device-mapper [CC] dmsetup.c [...] [CC] dmsetup [CC] dmsetup /nvme/rc-buildroot-test/scripts/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /nvme/rc-buildroot-test/scripts/instance-0/output-1/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/Scrt1.o: in function `_start': (.text+0x54): undefined reference to `main' collect2: error: ld returned 1 exit status Makefile:60: recipe for target 'dmsetup' failed Or: http://autobuild.buildroot.org/results/a4e/a4ea87da502272dc2e677123b6fbcb0c23106f0b/ >>> lvm2 2.03.12 Installing to staging directory [...] [CC] dmsetup /home/giuliobenetti/autobuild/run/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-musleabihf/9.3.0/../../../../arm-buildroot-linux-musleabihf/bin/ld: /home/giuliobenetti/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-musleabihf/sysroot/lib/Scrt1.o: in function `_start_c': Scrt1.c:(.text._start_c+0x5c): undefined reference to `main' collect2: error: ld returned 1 exit status make[3]: *** [Makefile:61: dmsetup] Error 1 make[3]: Leaving directory '/home/giuliobenetti/autobuild/run/instance-3/output-1/build/lvm2-2.03.12/libdm/dm-tools' make[2]: *** [../libdm/make.tmpl:315: dm-tools.device-mapper] Error 2 make[2]: *** Waiting for unfinished jobs.... [CC] dmsetup [INSTALL] dmsetup [...] Similar traces in either case: it tries to build dmsetup twice, at intall time instead of build time. Fixes: - http://autobuild.buildroot.org/results/995/995f46ee0033e34261ba7b24b61c41e7a088602b/ - http://autobuild.buildroot.org/results/a4e/a4ea87da502272dc2e677123b6fbcb0c23106f0b/ Note that this is just a workaround for a broken buildsystem anyway: indeed, the build of dmsetup is done at install time, instead of build time. More fixes should be worked on with upstream to properly fix the issue... Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> [yann.morin.1998@free.fr: - update after the three partial fix-commits - extend commit log accordingly - add new upstream failures ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
81 lines
2.2 KiB
Makefile
81 lines
2.2 KiB
Makefile
################################################################################
|
|
#
|
|
# lvm2
|
|
#
|
|
################################################################################
|
|
|
|
LVM2_VERSION = 2.03.12
|
|
LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz
|
|
LVM2_SITE = http://sources.redhat.com/pub/lvm2
|
|
LVM2_INSTALL_STAGING = YES
|
|
LVM2_LICENSE = GPL-2.0, LGPL-2.1
|
|
LVM2_LICENSE_FILES = COPYING COPYING.LIB
|
|
LVM2_CPE_ID_PRODUCT = redhat
|
|
# parallel build issues
|
|
LVM2_MAKE = $(MAKE1)
|
|
|
|
# Make sure that binaries and libraries are installed with write
|
|
# permissions for the owner. We disable NLS because it's broken, and
|
|
# the package anyway doesn't provide any translation files.
|
|
LVM2_CONF_OPTS += \
|
|
--enable-write_install \
|
|
--enable-pkgconfig \
|
|
--enable-cmdlib \
|
|
--enable-dmeventd \
|
|
--disable-nls \
|
|
--with-symvers=no
|
|
|
|
LVM2_DEPENDENCIES += host-pkgconf libaio
|
|
|
|
# LVM2 uses autoconf, but not automake, and the build system does not
|
|
# take into account the toolchain passed at configure time.
|
|
LVM2_MAKE_ENV = $(TARGET_CONFIGURE_OPTS)
|
|
|
|
# package/readline is GPL-3.0+, so not license compatible
|
|
LVM2_CONF_OPTS += --disable-readline
|
|
|
|
LVM2_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR)
|
|
LVM2_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR)
|
|
|
|
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
|
|
LVM2_CONF_OPTS += --enable-udev_rules
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
|
|
LVM2_CONF_OPTS += --enable-selinux
|
|
LVM2_DEPENDENCIES += libselinux
|
|
else
|
|
LVM2_CONF_OPTS += --disable-selinux
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LVM2_STANDARD_INSTALL),y)
|
|
LVM2_INSTALL_STAGING_OPTS += install
|
|
LVM2_INSTALL_TARGET_OPTS += install
|
|
ifeq ($(BR2_INIT_SYSTEMD),y)
|
|
LVM2_INSTALL_TARGET_OPTS += install_systemd_units install_systemd_generators
|
|
endif
|
|
else
|
|
LVM2_MAKE_OPTS = device-mapper
|
|
LVM2_INSTALL_STAGING_OPTS += install_device-mapper
|
|
LVM2_INSTALL_TARGET_OPTS += install_device-mapper
|
|
endif
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
|
|
LVM2_CONF_ENV += ac_cv_flag_HAVE_PIE=no
|
|
endif
|
|
|
|
HOST_LVM2_DEPENDENCIES = host-pkgconf host-libaio
|
|
HOST_LVM2_CONF_OPTS = \
|
|
--enable-write_install \
|
|
--enable-pkgconfig \
|
|
--disable-cmdlib \
|
|
--disable-dmeventd \
|
|
--disable-fsadm \
|
|
--disable-readline \
|
|
--disable-selinux
|
|
HOST_LVM2_MAKE_OPTS = device-mapper
|
|
HOST_LVM2_INSTALL_OPTS = install_device-mapper
|
|
|
|
$(eval $(autotools-package))
|
|
$(eval $(host-autotools-package))
|