GNU bug report logs - #50605
go: Commit d36c73b8a8f breaks `go tool`

Previous Next

Package: guix;

Reported by: Katherine Cox-Buday <cox.katherine.e <at> gmail.com>

Date: Wed, 15 Sep 2021 17:31:02 UTC

Severity: normal

Done: Katherine Cox-Buday <cox.katherine.e <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Katherine Cox-Buday <cox.katherine.e <at> gmail.com>
Subject: bug#50605: closed (go: Commit d36c73b8a8f breaks `go tool`)
Date: Thu, 16 Sep 2021 14:37:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#50605: go: Commit d36c73b8a8f breaks `go tool`

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 50605 <at> debbugs.gnu.org.

-- 
50605: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50605
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Katherine Cox-Buday <cox.katherine.e <at> gmail.com>
To: 50605-close <at> debbugs.gnu.org
Cc: Sarah Morgensen <iskarian <at> mgsn.dev>, Leo Famulari <leo <at> famulari.name>
Subject: go: Commit d36c73b8a8f breaks `go tool`
Date: Thu, 16 Sep 2021 09:36:36 -0500
I talked with Sarah in IRC (thanks for the quick response, Sarah!), and
we discovered it was because I had set =GOROOT= to
="${GUIX_PROFILE}/share/go". Go will set =${GOTOOLS}= relative to this
path.

Since Guix sets both of these to sensible defaults, I was able to remove
the customization and things went back to working as normal.

Sorry for the noise, and I hope this helps some future person!

-- 
Katherine

[Message part 3 (message/rfc822, inline)]
From: Katherine Cox-Buday <cox.katherine.e <at> gmail.com>
To: bug-guix <at> gnu.org
Cc: Sarah Morgensen <iskarian <at> mgsn.dev>, Leo Famulari <leo <at> famulari.name>
Subject: go: Commit d36c73b8a8f breaks `go tool`
Date: Wed, 15 Sep 2021 12:29:53 -0500
Aside from not being able to issue ~go tool~ commands, things like
~gopls~[1] are broken as well.

By design, ~GOTOOLDIR~ cannot be set from the user's environment[2].
This commit moved the directory, but did not update the ~GOTOOLDIR~
path.

#+begin_example
  $ env |grep GOTOOLDIR

  $ go env GOTOOLDIR
  /home/katco/.guix-profile/pkg/tool/linux_amd64

  $ export GOTOOLDIR=/tmp

  $ env |grep GOTOOLDIR
  GOTOOLDIR=/tmp

  $ go env GOTOOLDIR
  /home/katco/.guix-profile/pkg/tool/linux_amd64

  $ go env -w GOTOOLDIR=/tmp
  go env -w: GOTOOLDIR cannot be modified

  $ [ -e $(go env GOTOOLDIR) ] || echo Nope, not here.
  Nope, not here.

  $ [ -e /home/katco/.guix-profile/lib/go/pkg/tool ] && echo Here it is
  Here it is
#+end_example

I think these are the lines to blame:

#+begin_example
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  763)                (for-each
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  764)                 (lambda (file)
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  765)                   (copy-recursively file (string-append out "/lib/go/" file)))
  d36c73b8a8f (Sarah Morgensen                 2021-09-02  766)                 '("lib" "VERSION" "pkg/include" "pkg/tool"))
#+end_example

[1] - https://pkg.go.dev/golang.org/x/tools/gopls
[2] - https://github.com/golang/go/issues/10264#issuecomment-91394026

--
Katherine



This bug report was last modified 3 years and 248 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.