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 <ma...@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

Reply via email to