From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Neidhardt Subject: bug#33741: Packages built with Go 1.10+ keep unnecessary references to Go inputs Date: Fri, 14 Dec 2018 16:28:07 +0100 Message-ID: <877egcdt6g.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54992) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXpOn-0002js-UU for bug-guix@gnu.org; Fri, 14 Dec 2018 10:29:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXpOh-0002M0-Us for bug-guix@gnu.org; Fri, 14 Dec 2018 10:29:08 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:44184) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gXpOg-0002JF-A5 for bug-guix@gnu.org; Fri, 14 Dec 2018 10:29:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gXpOg-0001i8-4M for bug-guix@gnu.org; Fri, 14 Dec 2018 10:29:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54190) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXpNu-0002My-8o for bug-guix@gnu.org; Fri, 14 Dec 2018 10:28:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXpNq-0001cx-A8 for bug-guix@gnu.org; Fri, 14 Dec 2018 10:28:14 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:51861) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gXpNp-0001ba-GF for bug-guix@gnu.org; Fri, 14 Dec 2018 10:28:09 -0500 Received: from mimimi (lfbn-1-799-59.w86-246.abo.wanadoo.fr [86.246.35.59]) (Authenticated sender: mail@ambrevar.xyz) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id A783260004 for ; Fri, 14 Dec 2018 15:28:07 +0000 (UTC) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 33741@debbugs.gnu.org --=-=-= Content-Type: text/plain See https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00223.html. Go binaries are statically build, but since Go 1.10, the full paths to the Go libraries are kept in the binaries, which results in the Go dependencies being part of the package closure: $ guix gc --references $(./pre-inst-env guix build --no-grafts kurly) /gnu/store/2b2md66fbzyspsmd5dj6zkj9hilac40r-tzdata-2018e /gnu/store/4iwksvq53rlzphfp3xvp63ihlw226c0n-go-github-com-aki237-nscjar-0.0.0-0.e2df936 /gnu/store/5rxdjbk8h0bh1hbaan8y8ib13va2bcmw-net-base-5.3 /gnu/store/ahvdlp6y44qj6kx63rmx1sq8r61x3zc2-go-github-com-alsm-ioprogress-0.0.0-0.063c372 /gnu/store/f8yps0l8p371jgzh6cki0z5n2kgfjiwy-go-github-com-urfave-cli-1.19.1-0.934abfb /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27 /gnu/store/pp0bakrbyv9xmp1kyv2114l19s11b74z-gcc-6.4.0-lib Previously, they did not: $ guix gc --references $(guix build --no-grafts kurly) /gnu/store/2b2md66fbzyspsmd5dj6zkj9hilac40r-tzdata-2018e /gnu/store/5rxdjbk8h0bh1hbaan8y8ib13va2bcmw-net-base-5.3 /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27 /gnu/store/pp0bakrbyv9xmp1kyv2114l19s11b74z-gcc-6.4.0-lib It seems to be an upstream bug: https://github.com/golang/go/issues/16860 It's still unresolved and only planned for Go 1.13. Note that adding "-asmflags=all=-trimpath=/gnu/store" "-gcflags=all=-trimpath=/gnu/store" to the build system does not work, because we need to trim the hash too. -trimpath supports only one parameter, so we can't use it for this purpose. We could use Boyer-Moore to replace the hashes of all Go dependencies. We must be careful to only replace paths to Go libraries. -- Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAlwTzAcACgkQm9z0l6S7 zH/coAf/YvJSuI0oh+xHwPDXes3i2uw1hysc7tAesSk4mGdS6ImsWdLuUEm6V1or gZ1fNzikwEFzY86F/h6VR0nya/gv17UiyUInZmiVkOrrM1b8tQA7x00YFqjKqr0U jKtdgN7dXgyLYinK0XG4mnNi9UefWhyQgfeQHPs2NVczbIqsRkB7ECQU9CuSfoeM qNUkhHVij4y5FX0nuYw5ftrvZTvoIBU+FZ7UuCR3yonNC4q7wEVbKvQiNWFEwdu/ 4z2DINUnbBqOL84VjnRa95NobYpCuhse1XyQQBZDVjqUGDwbyDD8BIk15lDHvSa1 YTzzYNjC3spRhE8FdymB0qIc+SE0gg== =/d4s -----END PGP SIGNATURE----- --=-=-=--