git: 9e9c651caceb - main - cddl: fix missing ZFS library dependencies
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Nov 2021 14:42:35 UTC
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=9e9c651caceb9ecd17131e8bb29791ba4cf1cec7
commit 9e9c651caceb9ecd17131e8bb29791ba4cf1cec7
Author: Greg V <greg@unrelenting.technology>
AuthorDate: 2021-10-16 16:29:28 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2021-11-15 14:42:07 +0000
cddl: fix missing ZFS library dependencies
In 9fae47666 zfsd got a libspl dependency to avoid undefined references.
However that workaround did not help external consumers of libzfs_core.
Fix all missing dependencies lld 13 and the rtld complain about.
Reviewed by: freqlabs, markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D32521
---
Makefile.inc1 | 8 ++++++--
cddl/lib/Makefile | 4 +++-
cddl/lib/libavl/Makefile | 1 +
cddl/lib/libnvpair/Makefile | 1 +
cddl/lib/libzfs_core/Makefile | 2 +-
cddl/lib/libzutil/Makefile | 2 +-
cddl/usr.sbin/zfsd/Makefile.common | 2 +-
share/mk/src.libnames.mk | 6 ++++--
8 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/Makefile.inc1 b/Makefile.inc1
index ba1c74adabe1..6d6991a395c2 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -3027,11 +3027,15 @@ _cddl_lib_libzfs_core= cddl/lib/libzfs_core
_cddl_lib_libzfs= cddl/lib/libzfs
_cddl_lib_libzfsbootenv= cddl/lib/libzfsbootenv
+cddl/lib/libavl__L: cddl/lib/libspl__L
+
+cddl/lib/libnvpair__L: cddl/lib/libspl__L
+
cddl/lib/libtpool__L: cddl/lib/libspl__L
-cddl/lib/libzutil__L: cddl/lib/libavl__L cddl/lib/libtpool__L
+cddl/lib/libzutil__L: cddl/lib/libavl__L lib/libgeom__L lib/msun__L cddl/lib/libtpool__L
-cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L
+cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L cddl/lib/libspl__L cddl/lib/libzutil__L
cddl/lib/libzfs__L: cddl/lib/libzfs_core__L lib/msun__L lib/libutil__L
cddl/lib/libzfs__L: lib/libthr__L lib/libmd__L lib/libz__L cddl/lib/libumem__L
diff --git a/cddl/lib/Makefile b/cddl/lib/Makefile
index ae6862f70443..5ca0d56b291a 100644
--- a/cddl/lib/Makefile
+++ b/cddl/lib/Makefile
@@ -36,11 +36,13 @@ _pam_zfs_key= pam_zfs_key
.endif
.endif
+SUBDIR_DEPEND_libavl= libspl
SUBDIR_DEPEND_libctf= libspl
SUBDIR_DEPEND_libdtrace= libctf
+SUBDIR_DEPEND_libnvpair= libspl
SUBDIR_DEPEND_libtpool= libspl
SUBDIR_DEPEND_libuutil= libavl libspl
-SUBDIR_DEPEND_libzfs_core= libnvpair
+SUBDIR_DEPEND_libzfs_core= libnvpair libspl libzutil
SUBDIR_DEPEND_libzfs= libavl libnvpair libumem libuutil libzfs_core libzutil
SUBDIR_DEPEND_libzpool= libavl libnvpair libumem libicp
SUBDIR_DEPEND_libzutil= libavl libtpool
diff --git a/cddl/lib/libavl/Makefile b/cddl/lib/libavl/Makefile
index 2f7b9ad30856..b5e3b458f982 100644
--- a/cddl/lib/libavl/Makefile
+++ b/cddl/lib/libavl/Makefile
@@ -4,6 +4,7 @@
PACKAGE= runtime
LIB= avl
+LIBADD= spl
SRCS= avl.c
WARNS?= 3
CFLAGS+= -DIN_BASE
diff --git a/cddl/lib/libnvpair/Makefile b/cddl/lib/libnvpair/Makefile
index 670253eff7c1..aaf76ed3fb28 100644
--- a/cddl/lib/libnvpair/Makefile
+++ b/cddl/lib/libnvpair/Makefile
@@ -4,6 +4,7 @@
.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libnvpair
LIB= nvpair
+LIBADD= spl
PACKAGE= runtime
# user
diff --git a/cddl/lib/libzfs_core/Makefile b/cddl/lib/libzfs_core/Makefile
index abe0348f2313..5a7475f55428 100644
--- a/cddl/lib/libzfs_core/Makefile
+++ b/cddl/lib/libzfs_core/Makefile
@@ -7,7 +7,7 @@
LIB= zfs_core
-LIBADD= nvpair
+LIBADD= nvpair spl zutil
PACKAGE= runtime
INCS= libzfs_core.h
diff --git a/cddl/lib/libzutil/Makefile b/cddl/lib/libzutil/Makefile
index 85467151a5bb..2e6b53658b22 100644
--- a/cddl/lib/libzutil/Makefile
+++ b/cddl/lib/libzutil/Makefile
@@ -5,7 +5,7 @@
.PATH: ${SRCTOP}/sys/contrib/openzfs/module/os/freebsd/zfs
LIB= zutil
-LIBADD= avl tpool
+LIBADD= avl geom m tpool
PACKAGE= runtime
INCS = zutil_import.h
diff --git a/cddl/usr.sbin/zfsd/Makefile.common b/cddl/usr.sbin/zfsd/Makefile.common
index c18c796ce0ed..5e9257d7b37e 100644
--- a/cddl/usr.sbin/zfsd/Makefile.common
+++ b/cddl/usr.sbin/zfsd/Makefile.common
@@ -26,7 +26,7 @@ CFLAGS+= -I${SRCTOP}/cddl/usr.sbin
# use issetugid(2)
CFLAGS+= -D_MACHINE_FLOAT_H_ -DHAVE_ISSETUGID
-LIBADD+= devdctl zfs zfs_core util geom bsdxml sbuf nvpair avl spl uutil zutil
+LIBADD+= devdctl zfs util geom bsdxml sbuf nvpair avl uutil zutil
cscope:
find ${.CURDIR} -type f -a \( -name "*.[ch]" -o -name "*.cc" \) \
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index 227691804e2a..7873d05d18da 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -260,6 +260,7 @@ LIBVERIEXEC?= ${LIBVERIEXECDIR}/libveriexec.a
_DP_80211= sbuf bsdxml
_DP_9p= sbuf
_DP_archive= z bz2 lzma bsdxml zstd
+_DP_avl= spl
_DP_zstd= pthread
.if ${MK_BLACKLIST} != "no"
_DP_blacklist+= pthread
@@ -380,6 +381,7 @@ _DP_stats= sbuf pthread
_DP_stdthreads= pthread
_DP_tacplus= md
_DP_ncursesw= tinfow
+_DP_nvpair= spl
_DP_panelw= ncursesw
_DP_rpcsec_gss= gssapi
_DP_smb= kiconv
@@ -391,9 +393,9 @@ _DP_uutil= avl spl
_DP_zfs= md pthread umem util uutil m avl bsdxml crypto geom nvpair \
z zfs_core zutil
_DP_zfsbootenv= zfs nvpair
-_DP_zfs_core= nvpair
+_DP_zfs_core= nvpair spl zutil
_DP_zpool= md pthread z icp spl nvpair avl umem
-_DP_zutil= avl tpool
+_DP_zutil= avl geom m tpool
_DP_be= zfs spl nvpair zfsbootenv
_DP_netmap=
_DP_ifconfig= m