guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#45161] [PATCH 0/1] Update go?


From: Jack Hill
Subject: [bug#45161] [PATCH 0/1] Update go?
Date: Mon, 14 Dec 2020 16:53:59 -0500 (EST)
User-agent: Alpine 2.21 (DEB 202 2017-01-01)

On Mon, 14 Dec 2020, David Dashyan wrote:


Hello again!

Jack Hill writes:

I've tested go 1.15 by trying to build the packages reported by `guix refresh -l
go` on x86_64. There are some new build failures, but it doesn't look too
bad. In fact, I've already fixed on of them, by updating go-github-com-kr-pretty
in #45171 [0]. There were a number of packages whose tests failed because of
changes [1] to `go vet`. The new kr-pretty release adjusts to the new vet
behavior with a one line change [2] (kr-pretty had fortunately not fallen into
the incorrect string() usage for which vet is now warning).

May I ask how do you do afterer redefining "go" to point to go-1.15 and
getting list of deppending packages?  I mean how one buids all depended
packages in one move if there such a way to do this?

Sure. For me it involved some manual effort. There might be a more clever way to script it that others can share, but I didn't think it was too bad, and it allowed me to make notes about what problems I observed as I encountered them. Nothing I did was Go-specific. Perhaps a small project for another time, we could add a cookbook recipe for testing upgrades to languages or other packages with many dependents.

Here's what I did after changing the default go:

* ran `./pre-inst-env guix refresh -l go` and recorded the list of packages to build.

* ran `./pre-inst-env guix build` with that list.

* After a while there is a build failure, and the end of the log looks like (the actually failure here is unimportant):

```
FAIL    go.etcd.io/bbolt        600.127s
FAIL
command "go" "test" "go.etcd.io/bbolt" failed with status 1

Some deprecated features have been used.  Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information.  Set it to "no" to suppress
this message.
builder for 
`/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv' failed 
with exit code 1
@ build-failed 
/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv - 1 
builder for 
`/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv' failed 
with exit code 1
derivation 
'/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv' 
offloaded to 'libre-02.local' failed: build of 
`/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv' failed
build of /gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv 
failed
View build log at 
'/var/log/guix/drvs/6d/shsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv.bz2'.
cannot build derivation 
`/gnu/store/23jx3gb17gdhz662d3dsrmfnpp92abw4-chezmoi-1.8.1.drv': 1 dependencies 
couldn't be built
guix build: error: build of 
`/gnu/store/23jx3gb17gdhz662d3dsrmfnpp92abw4-chezmoi-1.8.1.drv' failed
```

* From this, I make a not the go-etcd-io-bbolt has a build failure, and that I was unable to attempt chezmoi.

* I remove chezmoi from the list of packages to build and re-run `guix build`.

Repeat that process until all the remaining packages build, and you should have a nice list of build failures and builds that could not be attempted.

Hope that helps,
Jack





reply via email to

[Prev in Thread] Current Thread [Next in Thread]