From owner-freebsd-fs@FreeBSD.ORG Fri Oct 28 20:08:43 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 55CE0106566B; Fri, 28 Oct 2011 20:08:43 +0000 (UTC) (envelope-from rmh.aybabtu@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id A553D8FC0A; Fri, 28 Oct 2011 20:08:42 +0000 (UTC) Received: by wyi40 with SMTP id 40so5723752wyi.13 for ; Fri, 28 Oct 2011 13:08:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=J6YVxWDJJGVAkPONA0S/DwV4m7bwT0DGLoAVtBQSyqk=; b=e0IxOhCt0e4EJwhif+A+juH20vz/pyCKOviPoKY62eLThYDtPeLxM7qTVcdPFbzuO9 duV59H9Br0JG7nb+q+6ps56jP7hRIiAqIJK578gOOBwiDX0wTId42GhiiVFCyzDiKKJc Z4jBZhD5rxz3fYb7+9IY0em9deGhLCku0WX8U= Received: by 10.227.199.132 with SMTP id es4mr5691197wbb.5.1319832521276; Fri, 28 Oct 2011 13:08:41 -0700 (PDT) Received: from thorin (88.Red-88-24-156.staticIP.rima-tde.net. [88.24.156.88]) by mx.google.com with ESMTPS id fw16sm17440033wbb.13.2011.10.28.13.08.34 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 28 Oct 2011 13:08:40 -0700 (PDT) Sender: Robert Millan Received: from rmh by thorin with local (Exim 4.72) (envelope-from ) id 1RJsj3-0000ik-Cd; Fri, 28 Oct 2011 22:08:25 +0200 Date: Fri, 28 Oct 2011 22:08:24 +0200 From: Robert Millan To: Kostik Belousov , Adrian Chadd Message-ID: <20111028200824.GA2757@thorin> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ADZbWkCsHQ7r3kzd" Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-fs@freebsd.org Subject: [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: Fri, 28 Oct 2011 20:08:43 -0000 --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 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 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 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 --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--