juju-core vivid ppc64el fails to build
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-release-tools |
Invalid
|
High
|
Curtis Hovey | ||
gcc-4.9 (Ubuntu) |
Invalid
|
High
|
Unassigned | ||
Vivid |
Invalid
|
High
|
Unassigned | ||
gccgo-5 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Vivid |
Fix Released
|
Undecided
|
Unassigned | ||
gccgo-go (Ubuntu) |
Fix Released
|
High
|
Canonical Server | ||
Vivid |
Fix Released
|
High
|
Canonical Server |
Bug Description
The vivid ppc64el builds are failing. The last success was on 2015-01.20. their first failure was on 2015-01-23.
We suspect that golang-go sets the wrong GOARCH in vivid.
We cannot see the build logs because Lp is a punk. The builds were in the ~juju-package stable and devel ppas
https:/
https:/
Using the source packages at
https:/
When we build in a vivid ppc64el container on (stilson-07). the build failed at the first call to use the built juju. The first call is to generate the man pages using "juju version" and "juju help commands" debian/rules sets the GOPATH and then adds the GOPATH/bin to PATH. The build binaries were placed in $GOPATH/
The "dpkg --print-
The host'ss "go env" shows GOARCH="ppc64"
The container's "go env" shows GOARCH="ppc64le"
I can contrive a successful build doing this
GOARCH=ppc64 dpkg-buildpackage -us -uc
So we could change debian/rules, but we first need to understand if GOARCH for vivid ppc64el is sane.
Changed in juju-release-tools: | |
assignee: | nobody → Curtis Hovey (sinzui) |
description: | updated |
Changed in gcc-4.9 (Ubuntu): | |
status: | New → Confirmed |
Changed in gccgo-go (Ubuntu): | |
importance: | Undecided → High |
Changed in gcc-4.9 (Ubuntu): | |
importance: | Undecided → High |
Changed in juju-release-tools: | |
status: | Triaged → Invalid |
Changed in gccgo-go (Ubuntu Vivid): | |
status: | Confirmed → Fix Released |
Changed in gccgo-5 (Ubuntu Vivid): | |
status: | Incomplete → Fix Released |
We captured a snippet of the private build log and we can see the issue is the same as the report. The first call to access bin/juju fails because it is not there, it is in $GOPATH/ bin/linux_ _ppc64le. VIvid's gccgo-go thinks it is cross-compiling.
mkdir -p /build/ buildd/ juju-core- 1.21.2/ bin/linux_ ppc64le/ com/juju/ juju/cmd/ plugins/ juju-restore/ _obj/exe/ a.out /build/ buildd/ juju-core- 1.21.2/ bin/linux_ ppc64le/ juju-restore com/juju/ juju/cmd/ jujud
cp $WORK/github.
go install -x -v -work -gccgoflags -static-libgo github.
....
doc_generator = GENERATORS[ args[1] ]() buildd/ juju-core- 1.21.2/ src/github. com/juju/ juju/scripts/ jujuman. py", line 11, in __init__ buildd/ juju-core- 1.21.2/ src/github. com/juju/ juju/scripts/ jujuman. py", line 22, in _version juju('version' ) buildd/ juju-core- 1.21.2/ src/github. com/juju/ juju/scripts/ jujuman. py", line 19, in run_juju check_output( cmd).strip( ) python2. 7/subprocess. py", line 566, in check_output python2. 7/subprocess. py", line 710, in __init__ python2. 7/subprocess. py", line 1335, in _execute_child dh_auto_ install' failed dh_auto_ install] Error 1 buildd/ juju-core- 1.21.2'
File "/build/
self.version = self._version()
File "/build/
juju_version = self.run_
File "/build/
return subprocess.
File "/usr/lib/
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/lib/
errread, errwrite)
File "/usr/lib/
raise child_exception
OSError: [Errno 2] No such file or directory
debian/rules:43: recipe for target 'override_
make[1]: *** [override_
make[1]: Leaving directory '/build/
debian/rules:22: recipe for target 'binary-arch' failed
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: /usr/bin/fakeroot debian/rules binary-arch gave error exit status 2