[oe] [meta-filesystems][PATCH V2] xfsprogs: Fix parallel install and Make dependencies

Martin Jansa martin.jansa at gmail.com
Mon Dec 26 07:27:51 UTC 2016


Same here in bitbake world builds.

On Mon, Dec 26, 2016 at 4:47 AM, Robert Yang <liezhi.yang at windriver.com>
wrote:

> Hi,
>
> I still get errors after applied this patch, we can see that there is no
> -luuid
> on command line:
>
> ../i586-wrs-linux-libtool --quiet --tag=CC --mode=link i586-wrs-linux-gcc
> -m32 -march=i586 --sysroot=/buildarea/lyang1/bu
> ild_rebase/test_qemux86/tmp/sysroots/qemux86 -o xfs_io -Wl,-O1
> -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu
> -Wl,--as-needed  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  -Wl,-O1
> -Wl,--hash-style=gnu -Wl,--as-needed -static-libtool-libs  init.o attr.o
> bmap.o file.o freeze.o fsync.o getrusage.o imap.o link.o mmap.o open.o
> parent.o pread.o prealloc.o pwrite.o seek.o shutdown.o sync.o truncate.o
> reflink.o fadvise.o madvise.o mincore.o sendfile.o fiemap.o inject.o
> resblks.o copy_file_range.o sync_file_range.o readdir.o   ../libxcmd/
> libxcmd.la ../libhandle/libhandle.la -lreadline
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/.libs/libxfs.a(xfs_alloc.o):
> In function `platform_uuid_compare':
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/../include/xfs/linux.h:89:
> undefined reference to `uuid_compare'
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/../include/xfs/linux.h:89:
> undefined reference to `uuid_compare'
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/.libs/libxfs.a(xfs_bmap_btree.o):
> In function `platform_uuid_compare':
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/../include/xfs/linux.h:89:
> undefined reference to `uuid_compare'
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/.libs/libxfs.a(xfs_btree.o):
> In function `platform_uuid_compare':
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/../include/xfs/linux.h:89:
> undefined reference to `uuid_compare'
> /buildarea/lyang1/build_rebase/test_qemux86/tmp/work/i586-
> wrs-linux/xfsprogs/4.8.0-r0/xfsprogs-4.8.0/libxfs/../include/xfs/linux.h:89:
> undefined reference to `uuid_compare'
>
> // Robert
>
>
> On 12/18/2016 07:06 AM, Khem Raj wrote:
>
>> This should fix build issues due to missing dependencies
>> e.g. libuuid in Makefiles.
>>
>> correct libhandle paths
>>
>> Dont do parallel install its broken
>>
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> ---
>> Changes from
>> v1 -> v2
>> - Drop locking toolchain to gcc it compiles fine with clang too
>>
>>  .../xfsprogs/files/link_needed_libs.patch          | 76
>> +++++++++++++++++++++-
>>  .../recipes-utils/xfsprogs/xfsprogs_4.8.0.bb       |  6 +-
>>  2 files changed, 79 insertions(+), 3 deletions(-)
>>
>> diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_libs.patch
>> b/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_libs.patch
>> index 18b95c1c3..a3c699ce6 100644
>> --- a/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_
>> libs.patch
>> +++ b/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_
>> libs.patch
>> @@ -1,3 +1,9 @@
>> +use libtool to package install.  do not use the manual file install as
>> +that'll copy files directly from the .libs/ subdir which might have
>> rpaths
>> +pointing to build area.
>> +
>> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> +
>>  Index: xfsprogs-4.8.0/libxcmd/Makefile
>>  ===================================================================
>>  --- xfsprogs-4.8.0.orig/libxcmd/Makefile
>> @@ -37,11 +43,28 @@ Index: xfsprogs-4.8.0/libxfs/Makefile
>>
>>   install-headers: $(addsuffix -hdrs, $(PKGHFILES))
>>
>> +@@ -144,6 +145,7 @@ install-headers: $(addsuffix -hdrs, $(PK
>> +       $(Q)$(LN_S) -f $(CURDIR)/$* $(TOPDIR)/include/xfs/$*
>> +
>> + install-dev: install
>> ++      $(INSTALL_LTLIB_DEV)
>> +       $(INSTALL) -m 644 $(PKGHFILES) $(PKG_INC_DIR)
>> +
>> + # We need to install the headers before building the dependencies.  If
>> we
>>  Index: xfsprogs-4.8.0/libxlog/Makefile
>>  ===================================================================
>>  --- xfsprogs-4.8.0.orig/libxlog/Makefile
>>  +++ xfsprogs-4.8.0/libxlog/Makefile
>> -@@ -19,6 +19,10 @@ default: ltdepend $(LTLIBRARY)
>> +@@ -12,6 +12,8 @@ LT_AGE = 0
>> +
>> + CFILES = xfs_log_recover.c util.c
>> +
>> ++LTLIBS = $(LIBUUID) $(LIBXFS)
>> ++
>> + # don't want to link xfs_repair with a debug libxlog.
>> + DEBUG = -DNDEBUG
>> +
>> +@@ -19,6 +21,10 @@ default: ltdepend $(LTLIBRARY)
>>
>>   include $(BUILDRULES)
>>
>> @@ -53,3 +76,54 @@ Index: xfsprogs-4.8.0/libxlog/Makefile
>>  +      $(INSTALL_LTLIB_DEV)
>>
>>   -include .ltdep
>> +Index: xfsprogs-4.8.0/include/buildmacros
>> +===================================================================
>> +--- xfsprogs-4.8.0.orig/include/buildmacros
>> ++++ xfsprogs-4.8.0/include/buildmacros
>> +@@ -70,18 +70,9 @@ endif
>> + # /usr/lib.
>> + ifeq ($(ENABLE_SHARED),yes)
>> + INSTALL_LTLIB_DEV = \
>> +-      cd $(TOPDIR)/$(LIBNAME)/.libs; \
>> +-      ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
>> +-      ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_LIB_DIR); \
>> +-      ../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_LIB_DIR)/$(LIBNAME).la
>> ; \
>> +-      ../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \
>> +-      ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_ROOT_LIB_DIR); \
>> +-      if [ "x$(shell readlink -f $(PKG_LIB_DIR))" != \
>> +-           "x$(shell readlink -f $(PKG_ROOT_LIB_DIR))" ]; then \
>> +-              ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).a
>> $(PKG_ROOT_LIB_DIR)/$(LIBNAME).a; \
>> +-              ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la
>> $(PKG_ROOT_LIB_DIR)/$(LIBNAME).la; \
>> +-              ../$(INSTALL) -S $(PKG_ROOT_LIB_DIR)/$(LIBNAME).so
>> $(PKG_LIB_DIR)/$(LIBNAME).so; \
>> +-      fi
>> ++      set -e; cd $(TOPDIR)/$(LIBNAME); \
>> ++      $(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
>> ++      env -uDIST_ROOT $(LTINSTALL) $(TOPDIR)/$(LIBNAME)/$(LIBNAME).la
>> $(DIST_ROOT)$(PKG_LIB_DIR)/$(LIBNAME).la
>> + else
>> + INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
>> + endif
>> +Index: xfsprogs-4.8.0/Makefile
>> +===================================================================
>> +--- xfsprogs-4.8.0.orig/Makefile
>> ++++ xfsprogs-4.8.0/Makefile
>> +@@ -83,6 +83,8 @@ quota: libxcmd
>> + repair: libxlog libxcmd
>> + copy: libxlog
>> + mkfs: libxcmd
>> ++libxlog: libxfs
>> ++libxlog-install-dev: libxfs-install-dev
>> +
>> + ifeq ($(HAVE_BUILDDEFS), yes)
>> + include $(BUILDRULES)
>> +Index: xfsprogs-4.8.0/libhandle/Makefile
>> +===================================================================
>> +--- xfsprogs-4.8.0.orig/libhandle/Makefile
>> ++++ xfsprogs-4.8.0/libhandle/Makefile
>> +@@ -24,7 +24,6 @@ default: ltdepend $(LTLIBRARY)
>> + include $(BUILDRULES)
>> +
>> + install: default
>> +-      $(INSTALL_LTLIB)
>> +
>> + install-dev: default
>> +       $(INSTALL_LTLIB_DEV)
>> diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
>> b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
>> index 9959f0d85..1032fb89b 100644
>> --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
>> +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
>> @@ -22,7 +22,7 @@ FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
>>  FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
>>  FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
>>
>> -FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
>> +FILES_libhandle = "${libdir}/libhandle${SOLIBS}"
>>
>>  EXTRA_OECONF = "--enable-gettext=no \
>>                  INSTALL_USER=root \
>> @@ -40,7 +40,7 @@ PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-b
>> lkid=no,util-linux"
>>
>>  export DEBUG="-DNDEBUG"
>>
>> -EXTRA_OEMAKE = "DIST_ROOT='${D}'"
>> +#EXTRA_OEMAKE = "DIST_ROOT='${D}'"
>>
>>  do_configure_prepend () {
>>      export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
>> @@ -54,3 +54,5 @@ do_configure_prepend () {
>>  do_install_append() {
>>          oe_runmake 'DESTDIR=${D}' install install-dev
>>  }
>> +
>> +PARALLEL_MAKEINST = ""
>>
>> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>



More information about the Openembedded-devel mailing list