From 2ef6910ff42c9bc2a52236ac045c1be5b2e13ea2 Mon Sep 17 00:00:00 2001 From: Li Dongyang Date: Wed, 12 Sep 2018 22:13:02 +1000 Subject: [PATCH] LU-11368 build: link the shared libraries properly Make sure the -l options come after the objects. Otherwise on distros(e.g. ubuntu18) use --as-needed by default, we won't actully link against those libs. Test-Parameters: trivial Signed-off-by: Li Dongyang Change-Id: If828fc409a54e48e0818f8a11087c266d46652c1 Reviewed-on: https://review.whamcloud.com/33146 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Nathaniel Clark Reviewed-by: Oleg Drokin --- config/lustre-build-zfs.m4 | 4 +++- lustre/utils/Makefile.am | 14 +++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/config/lustre-build-zfs.m4 b/config/lustre-build-zfs.m4 index 5120ce0..7ea8071 100644 --- a/config/lustre-build-zfs.m4 +++ b/config/lustre-build-zfs.m4 @@ -336,9 +336,11 @@ AC_DEFUN([LB_ZFS_USER], [ AC_MSG_RESULT([$zfsinc]) ZFS_LIBZFS_INCLUDE=${zfsinc} - ZFS_LIBZFS_LDFLAGS="-lzfs -lnvpair ${zfslib}" + ZFS_LIBZFS_LDFLAGS=${zfslib} + ZFS_LIBZFS_LIBS="-lzfs -lnvpair" AC_SUBST(ZFS_LIBZFS_INCLUDE) AC_SUBST(ZFS_LIBZFS_LDFLAGS) + AC_SUBST(ZFS_LIBZFS_LIBS) ]) AC_DEFUN([LB_CONFIG_ZFS], [ diff --git a/lustre/utils/Makefile.am b/lustre/utils/Makefile.am index 9d68b2f..5fd9d94 100644 --- a/lustre/utils/Makefile.am +++ b/lustre/utils/Makefile.am @@ -138,7 +138,8 @@ if UTILS PLUGIN_LIB = if PLUGINS -MNTMODLDFLAGS := -rdynamic -ldl +MNTMODLDFLAGS := -rdynamic +MNTMODLIBS := -ldl MNTMODCFLAGS := -DPLUGIN_DIR=\"${pkglibdir}\" endif # PLUGINS @@ -153,9 +154,11 @@ lib_LTLIBRARIES += libmount_utils_zfs.la libmount_utils_zfs.la : libmount_utils_zfs.a $(CC) $(LDFLAGS) $(MNTMODLDFLAGS) -shared -export-dynamic -pthread \ $(ZFS_LIBZFS_LDFLAGS) -o mount_osd_zfs.so \ - `$(AR) -t libmount_utils_zfs.a` + `$(AR) -t libmount_utils_zfs.a` \ + $(MNTMODLIBS) $(ZFS_LIBZFS_LIBS) else MNTMODLDFLAGS := $(ZFS_LIBZFS_LDFLAGS) +MNTMODLIBS := $(ZFS_LIBZFS_LIBS) PLUGIN_LIB += libmount_utils_zfs.a endif # PLUGINS endif # ZFS_ENABLED @@ -170,8 +173,9 @@ if PLUGINS lib_LTLIBRARIES += libmount_utils_ldiskfs.la libmount_utils_ldiskfs.la : libmount_utils_ldiskfs.a $(CC) $(LDFLAGS) $(MNTMODLDFLAGS) -shared -export-dynamic \ - $(SELINUX) -o mount_osd_ldiskfs.so \ - `$(AR) -t libmount_utils_ldiskfs.a` + -o mount_osd_ldiskfs.so \ + `$(AR) -t libmount_utils_ldiskfs.a` \ + $(MNTMODLIBS) $(SELINUX) else PLUGIN_LIB += libmount_utils_ldiskfs.a endif # PLUGINS @@ -181,7 +185,7 @@ mount_lustre_SOURCES = mount_lustre.c mount_utils.c mount_utils.h $(GSSSRC) mount_lustre_CPPFLAGS := ${MNTMODCFLAGS} mount_lustre_LDFLAGS := ${MNTMODLDFLAGS} mount_lustre_LDADD := $(SELINUX) $(LDLIBMOUNT) $(PLUGIN_LIB) $(GSSLIB) \ - $(top_builddir)/libcfs/libcfs/libcfs.la + $(top_builddir)/libcfs/libcfs/libcfs.la $(MNTMODLIBS) mkfs_lustre_SOURCES = mkfs_lustre.c mount_utils.c mount_utils.h $(GSSSRC) mkfs_lustre_CPPFLAGS := -UTUNEFS ${MNTMODCFLAGS} -- 1.8.3.1