From owner-freebsd-fs@FreeBSD.ORG Sat Oct 29 21:31:44 2011 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC4B41065680; Sat, 29 Oct 2011 21:31:44 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id D0C078FC12; Sat, 29 Oct 2011 21:31:43 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id D0465FE5; Sat, 29 Oct 2011 23:31:39 +0200 (CEST) Date: Sat, 29 Oct 2011 23:30:51 +0200 From: Pawel Jakub Dawidek To: Robert Millan Message-ID: <20111029213051.GG1713@garage.freebsd.pl> References: <20111028200824.GA2757@thorin> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="5uO961YFyoDlzFnP" Content-Disposition: inline In-Reply-To: <20111028200824.GA2757@thorin> X-OS: FreeBSD 9.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-fs@freebsd.org, Adrian Chadd Subject: Re: [PATCH] fix gratuitous dependencies in ZFS libraries / utilities X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Oct 2011 21:31:44 -0000 --5uO961YFyoDlzFnP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Oct 28, 2011 at 10:08:24PM +0200, Robert Millan wrote: >=20 > Hi, >=20 > Some of the ZFS libraries and utilities are linked with libraries they > don't use: >=20 > - zinject doesn't use libavl > - ztest doesn't use libz > - zdb uses neither libavl nor libz > - zfs uses neither libbsdxml nor libm, nor libsbuf > - zpool uses neither libbsdxml nor libm, nor libsbuf >=20 > In addition, libzfs needs libm because it uses pow(), however it isn't > linked with -lm. This went unnoticed because all its users had -lm befor= e. >=20 > Attached patch (tested with "make buildworld") fixes these problems. Sounds good. > Index: cddl/usr.bin/zinject/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- cddl/usr.bin/zinject/Makefile (revision 226869) > +++ cddl/usr.bin/zinject/Makefile (working copy) > @@ -19,8 +19,8 @@ > CFLAGS+=3D -I${.CURDIR}/../../contrib/opensolaris/head > CFLAGS+=3D -I${.CURDIR}/../../lib/libumem > =20 > -DPADD=3D ${LIBAVL} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBUUTIL= } \ > +DPADD=3D ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBUUTIL} \ > ${LIBZFS} ${LIBZPOOL} > -LDADD=3D -lavl -lgeom -lm -lnvpair -lumem -luutil -lzfs -lzpool > +LDADD=3D -lgeom -lm -lnvpair -lumem -luutil -lzfs -lzpool > =20 > .include > Index: cddl/usr.bin/ztest/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- cddl/usr.bin/ztest/Makefile (revision 226869) > +++ cddl/usr.bin/ztest/Makefile (working copy) > @@ -18,8 +18,8 @@ > CFLAGS+=3D -I${.CURDIR}/../../lib/libumem > =20 > DPADD=3D ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBZPOOL} \ > - ${LIBPTHREAD} ${LIBZ} ${LIBAVL} > -LDADD=3D -lm -lnvpair -lumem -lzpool -lpthread -lz -lavl > + ${LIBPTHREAD} ${LIBAVL} > +LDADD=3D -lm -lnvpair -lumem -lzpool -lpthread -lavl > =20 > CSTD=3D c99 > =20 > Index: cddl/usr.sbin/zdb/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- cddl/usr.sbin/zdb/Makefile (revision 226869) > +++ cddl/usr.sbin/zdb/Makefile (working copy) > @@ -23,9 +23,9 @@ > CFLAGS+=3D -I${.CURDIR}/../../../cddl/contrib/opensolaris/head > CFLAGS+=3D -I${.CURDIR}/../../lib/libumem > =20 > -DPADD=3D ${LIBAVL} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBPTHREAD} ${LIBUM= EM} \ > - ${LIBUUTIL} ${LIBZ} ${LIBZFS} ${LIBZPOOL} > -LDADD=3D -lavl -lgeom -lm -lnvpair -lpthread -lumem -luutil -lz -lzfs -l= zpool > +DPADD=3D ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBPTHREAD} ${LIBUMEM} \ > + ${LIBUUTIL} ${LIBZFS} ${LIBZPOOL} > +LDADD=3D -lgeom -lm -lnvpair -lpthread -lumem -luutil -lzfs -lzpool > =20 > =20 > .include > Index: cddl/lib/libzfs/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- cddl/lib/libzfs/Makefile (revision 226869) > +++ cddl/lib/libzfs/Makefile (working copy) > @@ -6,8 +6,8 @@ > .PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs/common > =20 > LIB=3D zfs > -DPADD=3D ${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL} > -LDADD=3D -lmd -lpthread -lumem -lutil > +DPADD=3D ${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL} ${LIBM} > +LDADD=3D -lmd -lpthread -lumem -lutil -lm > =20 > SRCS=3D deviceid.c \ > fsshare.c \ > Index: cddl/sbin/zfs/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- cddl/sbin/zfs/Makefile (revision 226869) > +++ cddl/sbin/zfs/Makefile (working copy) > @@ -21,8 +21,8 @@ > CFLAGS+=3D -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common= /sys > CFLAGS+=3D -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs > =20 > -DPADD=3D ${LIBBSDXML} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBSBUF} ${LIBUM= EM} \ > +DPADD=3D ${LIBGEOM} ${LIBNVPAIR} ${LIBUMEM} \ > ${LIBUTIL} ${LIBUUTIL} ${LIBZFS} > -LDADD=3D -lbsdxml -lgeom -lm -lnvpair -lsbuf -lumem -lutil -luutil -lzfs > +LDADD=3D -lgeom -lnvpair -lumem -lutil -luutil -lzfs > =20 > .include > Index: cddl/sbin/zpool/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- cddl/sbin/zpool/Makefile (revision 226869) > +++ cddl/sbin/zpool/Makefile (working copy) > @@ -26,8 +26,8 @@ > CFLAGS+=3D -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzpool/c= ommon > CFLAGS+=3D -I${.CURDIR}/../../../cddl/contrib/opensolaris/cmd/stat/common > =20 > -DPADD=3D ${LIBAVL} ${LIBBSDXML} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBSBU= F} \ > +DPADD=3D ${LIBAVL} ${LIBGEOM} ${LIBNVPAIR} \ > ${LIBUMEM} ${LIBUTIL} ${LIBUUTIL} ${LIBZFS} > -LDADD=3D -lavl -lbsdxml -lgeom -lm -lnvpair -lsbuf -lumem -lutil -luutil= -lzfs > +LDADD=3D -lavl -lgeom -lnvpair -lumem -lutil -luutil -lzfs > =20 > .include --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://yomoli.com --5uO961YFyoDlzFnP Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk6scIsACgkQForvXbEpPzSsQwCgqycNxm/aDYTL+4fB0iTEw1/+ EZIAoMecKDtb/Ayyi9OK+DtVRXuAXT5m =5RDT -----END PGP SIGNATURE----- --5uO961YFyoDlzFnP--