Hi all,
I've started to see very strange build failures of syncthing since the update from go 1.18 to 1.19: https://koschei.fedoraproject.org/package/syncthing?collection=f37
I've looked at build logs, but there's no obvious source of a problem that I can see in the usual "megabyte-sized wall of inscrutable build commands / output". Grepping for "error" does not help, the build just appears to "fail" at some point.
Could somebody please take a look? I don't know what's going wrong.
Thanks, Fabio
* Fabio Valentini:
Hi all,
I've started to see very strange build failures of syncthing since the update from go 1.18 to 1.19: https://koschei.fedoraproject.org/package/syncthing?collection=f37
I've looked at build logs, but there's no obvious source of a problem that I can see in the usual "megabyte-sized wall of inscrutable build commands / output". Grepping for "error" does not help, the build just appears to "fail" at some point.
Could somebody please take a look? I don't know what's going wrong.
Pretty much all Go compiler error messages contain the chracter sequence “.go:”. Using that, we end up at:
| _build/src/github.com/syncthing/syncthing/vendor/github.com/lucas-clemente/quic-go/internal/qtls/go119.go:6:13: cannot use "The version of quic-go you're using can't be built on Go 1.19 yet. For more details, please see https://github.com/lucas-clemente/quic-go/wiki/quic-go-and-Go-versions." (untyped string constant "The version of quic-go you're using can't be built on Go 1.19 yet. F...) as int value in variable declaration
Which is pretty self-explanatory.
Thanks, Florian
On Fri, Jul 29, 2022 at 12:53 PM Florian Weimer fweimer@redhat.com wrote:
Pretty much all Go compiler error messages contain the chracter sequence “.go:”. Using that, we end up at:
Good to know. I'll add it to my mental list of things to "grep" for.
| _build/src/github.com/syncthing/syncthing/vendor/github.com/lucas-clemente/quic-go/internal/qtls/go119.go:6:13: cannot use "The version of quic-go you're using can't be built on Go 1.19 yet. For more details, please see https://github.com/lucas-clemente/quic-go/wiki/quic-go-and-Go-versions." (untyped string constant "The version of quic-go you're using can't be built on Go 1.19 yet. F...) as int value in variable declaration
Which is pretty self-explanatory.
Thanks, I wouldn't have found that in the wall of text. But true, this is pretty self-explanatory. In fact, I've had this problem with quic-go before with major Go version bumps ...
The quic-go library has specific "forks" that support only one major Go version each. Syncthing imports them all, and then uses conditional compilation at build-time, depending on the actual version of the compiler. So I won't be able to fix this until 1) quic-go releases a version of their library that's specific to go 1.19, and 2) syncthing adds support for go 1.19.
I can't fix the resulting FTBFS issue myself, but at least now I know what's going on. Still, not getting included in rebuilds for golang CVE fixes now is kind of a bummer.
Fabio
golang@lists.fedoraproject.org