gccgo: change of type of syscall.RawSockaddr.Data on ppc64 breaks docker #12124

Closed
mwhudson opened this Issue Aug 12, 2015 · 10 comments

Comments

Projects
None yet
5 participants
Contributor

mwhudson commented Aug 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.

@ianlancetaylor ianlancetaylor added this to the Gccgo milestone Aug 13, 2015

Contributor

ianlancetaylor commented 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.

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?

Contributor

mwhudson commented Aug 17, 2015

I was building whatever is in ubuntu wily -- docker 1.6 I think with gccgo
-v that says:

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.
Certainly it would be bad if this type varied depending on which compiler
was being used...

On 14 August 2015 at 09:34, christyp notifications@github.com wrote:

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?


Reply to this email directly or view it on GitHub
#12124 (comment).

@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.

Contributor

mwhudson commented Aug 23, 2015

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.

So,

  1. If that's what's in wiley, should this issue be worked out with distros instead (e.g. a bug in Launchpad) so we can work on getting whatever is going to ship patched?
  2. From what I understand, you can't build Docker with gc. @laboger, can you chime in?
  3. I'm pretty sure that gcc version you pasted is really recent from upstream but that doesn't make sense b/c no distro does that. :)
Contributor

laboger commented Aug 24, 2015

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.

@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).

Contributor

mwhudson commented Aug 25, 2015

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 mwhudson closed this Aug 25, 2015

@gopherbot gopherbot locked and limited conversation to collaborators Aug 24, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.