Date: Sat, 29 Oct 2011 23:30:51 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: Robert Millan <rmh@freebsd.org> Cc: freebsd-fs@freebsd.org, Adrian Chadd <adrian@freebsd.org> Subject: Re: [PATCH] fix gratuitous dependencies in ZFS libraries / utilities Message-ID: <20111029213051.GG1713@garage.freebsd.pl> In-Reply-To: <20111028200824.GA2757@thorin> References: <20111028200824.GA2757@thorin>
next in thread | previous in thread | raw e-mail | index | archive | help
--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 <bsd.prog.mk>
> 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 <bsd.prog.mk>
> 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 <bsd.prog.mk>
> 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 <bsd.prog.mk>
--=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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111029213051.GG1713>
