Date: Fri, 28 Oct 2011 22:08:24 +0200 From: Robert Millan <rmh@freebsd.org> To: Kostik Belousov <kostikbel@gmail.com>, Adrian Chadd <adrian@freebsd.org> Cc: freebsd-fs@freebsd.org Subject: [PATCH] fix gratuitous dependencies in ZFS libraries / utilities Message-ID: <20111028200824.GA2757@thorin>
next in thread | raw e-mail | index | archive | help
--ADZbWkCsHQ7r3kzd Content-Type: multipart/mixed; boundary="Kj7319i9nmIyA2yE" Content-Disposition: inline --Kj7319i9nmIyA2yE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, Some of the ZFS libraries and utilities are linked with libraries they don't use: - 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 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 before. Attached patch (tested with "make buildworld") fixes these problems. --=20 Robert Millan --Kj7319i9nmIyA2yE Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="gratuitous_dependencies.diff" Content-Transfer-Encoding: quoted-printable 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} ${LIBUMEM= } \ - ${LIBUUTIL} ${LIBZ} ${LIBZFS} ${LIBZPOOL} -LDADD=3D -lavl -lgeom -lm -lnvpair -lpthread -lumem -luutil -lz -lzfs -lzp= ool +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/s= ys CFLAGS+=3D -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs =20 -DPADD=3D ${LIBBSDXML} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBSBUF} ${LIBUMEM= } \ +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/com= mon CFLAGS+=3D -I${.CURDIR}/../../../cddl/contrib/opensolaris/cmd/stat/common =20 -DPADD=3D ${LIBAVL} ${LIBBSDXML} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBSBUF}= \ +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> --Kj7319i9nmIyA2yE-- --ADZbWkCsHQ7r3kzd Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/kFreeBSD) iQIcBAEBCAAGBQJOqwu3AAoJELd1onhloKnOreAQAImOMVpFCbvH1BKT8HjsoBSI 5hdC4b3HcCvzEyo7RUGH5TWHSK36uRm6I/bBco7RQDXmJOqbFoCjsjfqPDASgg5d FfYEH4adbdAVLuWsX5CnqeyzZcHpFWiFLVsuRXTMef4+J54hokLdJsxBxyK+Bw+W MFh7OWhgy3QPR1WjKyalUXTRKjHZByrfyD+tp9H00z8VSBZn0S7nGZyXu9pURqDL 1UDQ2hN8T7wXozVLdOuzB/ufh0Govdn5T4+cNdWCYJ1h/ff7efAzD/+8BmzYeDFg UDJD43sOgwYVIqXsFgzvksug43RyHsLXsT+oI5e0j722v5utXUGGL9NN7POAQGzH i3wBZy1Z/6uKuwUDjQZrmJog+PU0Chh+HvlUkX4TQ/rbBbYBPMnwwSum9wFA5a86 o4yL+DDFHBlX/1p5EZXTDhGFfLW5H36gQty27ShRMHI4sacGcZkBlmipSNlVpi/P vEhmjnyN3UlYdynYNqAWKDFz5ElADqhwPf0ISYeghSVSnHrkkurnVUwlBMXKNDFW eeL0H+SIMEQDd+gJj4o6VYgwo9TR+4ZPzNKcYqHx0L/ChIBxEYdgvPOYHn4DDiDb TLXcRFzMLmjmbeTudHGkWf8/wFfLkc/fhW5Q4uNUnUbRtHE6xB9JjCLc4cUPGEjn YlzRE3ii1ky44E4BOhsu =0vB7 -----END PGP SIGNATURE----- --ADZbWkCsHQ7r3kzd--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111028200824.GA2757>