FS#45077 - [gcc-go] Go and gcc-go conflicting is problematic.
Attached to Project:
Arch Linux
Opened by Niklas Schnelle (spacenick) - Monday, 25 May 2015, 11:17 GMT
Last edited by Allan McRae (Allan) - Wednesday, 05 August 2015, 14:01 GMT
Opened by Niklas Schnelle (spacenick) - Monday, 25 May 2015, 11:17 GMT
Last edited by Allan McRae (Allan) - Wednesday, 05 August 2015, 14:01 GMT
|
Details
As of now gcc-go and go can't be installed together. This is
problematic because one often wants
to check go programs for compatibility between both implementations. It's also not clear which implementation should be a build dependency for e.g. syncthing it's go even though I have verified that gcc-go 5.1 works too. So maybe this should be a provides directive? With version 5.1 gcc-go added a closely following fork of the go tool as well as gofmt so that these tools are available on platforms that don't have support for the standard go distribution such as MIPS, SPARC (ARM64 and PPC64 are supported in development builds only) which now conflicts with the same binaries in the standard implementation. It's important to note that functionality wise gcc-go 5.1 and go 1.4.x should be compatible though go has better escape analysis and will be faster for memory heavy workloads. Sadly this will change again when go 1.5 will be released in a couple of weeks though most sources will likely stay gcc-go compatible for a while. However the go tool from standard go also supports building with gccgo and it would be nice to be able to make use of it. I have tried renaming the go and gofmt binaries, however then the go tool can't find gofmt. We could either live with that and have users of gcc-go without go installed symlink it or ideally have it in a separate gcc-go-tools package. At the moment the best workaround to be able to use both is to have gcc-go from the repository (as it's much harder to build than standard go) and standard go build in one's home directory. However since liteide requires go, this means I can't use liteide from the repository. I haven't tried using liteide with gcc-go but can't see how it wouldn't work as it just uses the go tool to build things and the one in gcc-go should be close enough. |
This task depends upon
Closed by Allan McRae (Allan)
Wednesday, 05 August 2015, 14:01 GMT
Reason for closing: Deferred
Additional comments about closing: See final commemt
Wednesday, 05 August 2015, 14:01 GMT
Reason for closing: Deferred
Additional comments about closing: See final commemt
The idea solution is to implement an alternatives system in pacman... (don't hold your breath!)
I am deferring this bug until upstream or pacman fix it.