Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
gccgo: change of type of syscall.RawSockaddr.Data on ppc64 breaks docker #12124
Comments
ianlancetaylor
added this to the Gccgo milestone
Aug 13, 2015
|
As noted on the GCC bug, please sort this out with Lynn Boger. My understanding was that that patch was intended to fix docker. I don't see any obvious correct solution here. |
clnperez
commented
Aug 13, 2015
|
/cc @laboger |
clnperez
commented
Aug 13, 2015
|
I see your error is in libcontainer. There should be a fix for that in runc -- but it looks like somehow between the move from libcontainer to runc a build tag went missing. There will be a PR to correct that, and then you should be able to build ppc64le with the latest gccgo. Can you paste your gccgo -v output and the version of docker you're building from? |
|
I was building whatever is in ubuntu wily -- docker 1.6 I think with gccgo gcc version 5.2.1 20150808 (Ubuntu 5.2.1-15ubuntu1) I think probably fixing this docker side is probably the right thing to do. On 14 August 2015 at 09:34, christyp notifications@github.com wrote:
|
clnperez
commented
Aug 21, 2015
|
@mwhudson, did you custom build that version of gcc? Or is that what's going to ship in Wily? And can you verify for sure the docker version. 1.6 seems a little old, given that your gcc is so new. |
|
It's what's in wily. I'm not entirely sure what upstream version it corresponds to or if any updates are planned, sorry. And yes, that's the docker version: https://launchpad.net/ubuntu/+source/docker.io. Again, I don't know if an update is planned (I sort of hope so, though). We also might switch to building docker with gc / golang-go now that we have 1.5 in the archive. |
clnperez
commented
Aug 24, 2015
|
So,
|
|
It is my understanding that you must have support for external linking in order to build Docker, and the go1.5 release of gc in golang doesn't support external linking on ppc64le or ppc64 according to their release notes and my testing. |
clnperez
commented
Aug 24, 2015
|
@mwhudson I looked at what's shipped in Wiley and it looks like you're pulling gcc from a devel repo. Can you confirm? If that's the case, is there a docker binary in there too? Runc picked up our fix for this (opencontainers/runc#199), so if you can use the latest docker with the latest gcc, you should be set (as far as this particular issue is concerned). Edit: s/a docker binary/docker source (IIUC). |
|
Yeah, I agree we should fix this in the docker package in Ubuntu. I'll chase that end of things. Sorry for the noise. |
mwhudson commentedAug 12, 2015
Hi,
AIUI, #11469 fixed gccgo tip to match what Go 1.5 does for the type of syscall.RawSockaddr.Data on ppc64le, which sounds good, but it means that the type is different from previous releases of gccgo on ppc64le, which means that programs that used to compile now don't, including docker:
https://launchpadlibrarian.net/214319094/buildlog_ubuntu-wily-ppc64el.docker.io_1.6.2~dfsg1-1ubuntu4_BUILDING.txt.gz
I don't know that docker can be changed in a way that will build with both new and old gccgo, which seems pretty unfortunate. At least changing the Go 1.5 type would allow that, but it's way too late for that.