From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hank Donnay Subject: bug#25752: go incremental builds broken Date: Thu, 16 Feb 2017 10:05:27 -0500 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60626) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceNdD-0004Lm-AR for bug-guix@gnu.org; Thu, 16 Feb 2017 10:06:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceNdC-0005mY-C4 for bug-guix@gnu.org; Thu, 16 Feb 2017 10:06:03 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:44146) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ceNdC-0005mU-9W for bug-guix@gnu.org; Thu, 16 Feb 2017 10:06:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ceNdC-0001nK-3V for bug-guix@gnu.org; Thu, 16 Feb 2017 10:06:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60429) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceNci-0003vp-CZ for bug-guix@gnu.org; Thu, 16 Feb 2017 10:05:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceNcg-0005ai-1e for bug-guix@gnu.org; Thu, 16 Feb 2017 10:05:32 -0500 Received: from mail-qk0-x22c.google.com ([2607:f8b0:400d:c09::22c]:36284) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ceNcf-0005aR-PD for bug-guix@gnu.org; Thu, 16 Feb 2017 10:05:29 -0500 Received: by mail-qk0-x22c.google.com with SMTP id 11so17640041qkl.3 for ; Thu, 16 Feb 2017 07:05:29 -0800 (PST) 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: 25752@debbugs.gnu.org Hello, It seems the guix's go package is broken when the go tool is used for incremental builds. Any attempt to use 'install' or 'build -i' results in an attempt to write to the store. A one-liner: guix environment --ad-hoc go -- bash -c 'export t=$(mktemp -d); cd $t && export GOPATH=$(pwd) GOBIN=$(pwd)/bin && go install cmd/go; cd && rm -rf $t' Another command reports that (seemingly) the entire stdlib is marked as stale: guix environment --ad-hoc go -- bash -c 'export t=$(mktemp -d); cd $t && export GOPATH=$(pwd) GOBIN=$(pwd)/bin && go list -f '\''{{join .Deps "\n"}}'\'' cmd/go | xargs -n1 go list -f '\''{{if .Stale}}{{.ImportPath}}: {{.StaleReason}}{{end}}'\''; cd && rm -rf $t' The function for determining staleness is here (after the giant comment explaining the reasoning): https://golang.org/src/cmd/go/pkg.go#L1111 I don't see anything wrong with the package definition, but could be missing something. My only hunch at this point is that something might be modifying src/runtime/internal/sys/zversion.go, as that entire file is included in the build ID computation. Thanks,