Cannot build r2379 on amd64+precise

Bug #1289376 reported by Curtis Hovey
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
Critical
Curtis Hovey

Bug Description

A recent revision or the setup of the unit-tests broke the build. We first investigated the failure assuming that the issue was dependency changes made for the tests. We added an explicit call to make build before make check to isolate the impiled compilation errors. We now wonder if the break is caused by a code change. I believe the correct dependencies for amd64+precise were installed:

++ apt-cache madison juju-mongodb
+ [[ '' =~ .*juju-mongodb.* ]]
+ juju_db=mongodb-server
++ uname -p
+ [[ x86_64 =~ .*x86|armel|armhf.* ]]
+ juju_compiler=golang
+ sudo apt-get install -y build-essential bzr distro-info-data git-core mercurial zip rsyslog-gnutls mongodb-server golang
Reading package lists...

The make build step fails, we never get to run the unit tests.

go build launchpad.net/juju-core/...
# launchpad.net/juju-core/cert
cert/cert.go:172: template.IPAddresses undefined (type *x509.Certificate has no field or method IPAddresses)
# launchpad.net/juju-core/schema
schema/schema.go:32: function ends without a return statement
# launchpad.net/juju-core/utils
utils/file.go:70: function ends without a return statement
# code.google.com/p/go.crypto/ssh
../../code.google.com/p/go.crypto/ssh/keys.go:560: undefined: x509.ParseECPrivateKey
# launchpad.net/juju-core/cmd
cmd/cmd.go:137: undefined: signal.Stop
# launchpad.net/juju-core/rpc
rpc/server.go:340: function ends without a return statement
# launchpad.net/juju-core/state/watcher
state/watcher/watcher.go:212: function ends without a return statement
# launchpad.net/juju-core/state/presence
state/presence/presence.go:553: function ends without a return statement
# launchpad.net/juju-core/testing/checkers
testing/checkers/deepequal.go:43: function ends without a return statement
# launchpad.net/juju-core/utils/parallel
utils/parallel/try.go:78: function ends without a return statement
utils/parallel/try.go:122: function ends without a return statement
# launchpad.net/gwacl
../gwacl/management.go:346: function ends without a return statement
../gwacl/retry_policy.go:75: function ends without a return statement
../gwacl/retry_policy.go:105: function ends without a return statement
../gwacl/x509dispatcher.go:114: function ends without a return statement
# launchpad.net/juju-core/worker/resumer
worker/resumer/resumer.go:61: function ends without a return statement
# launchpad.net/juju-core/log/syslog
log/syslog/config.go:228: method slConfig.CACertPath is not an expression, must be called
log/syslog/config.go:229: method slConfig.ServerCertPath is not an expression, must be called
log/syslog/config.go:230: method slConfig.ServerKeyPath is not an expression, must be called
# launchpad.net/goose/identity
../goose/identity/identity.go:106: function ends without a return statement
# launchpad.net/juju-core/utils/tailer
utils/tailer/tailer.go:130: timer.Reset undefined (type *time.Timer has no field or method Reset)
# launchpad.net/juju-core/utils/voyeur
utils/voyeur/value.go:98: function ends without a return statement
make: *** [build] Error 2
+ EXIT_STATUS=2
+ set -e
+ [[ true == \t\r\u\e ]]
+ /var/lib/jenkins/ci-cd-scripts2/ec2-terminate-job-instances
INSTANCE i-867a8ba5
+ exit 2
Build step 'Execute shell' marked build as failure

Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 1289376] [NEW] Cannot build r2379 on amd64+precise
Download full text (4.1 KiB)

That looks a lot like we are building with go 1.0 instead of go 1.1.
For series != trusty we have to have the ppa:juju/golang version of go
installed in order to do the build.

I don't think this is a regression in r2379 because we've been ending
functions without return for >6 months now.

On Fri, Mar 7, 2014 at 2:01 PM, Curtis Hovey <email address hidden> wrote:
> Public bug reported:
>
> A recent revision or the setup of the unit-tests broke the build. We
> first investigated the failure assuming that the issue was dependency
> changes made for the tests. We added an explicit call to make build
> before make check to isolate the impiled compilation errors. We now
> wonder if the break is caused by a code change. I believe the correct
> dependencies for amd64+precise were installed:
>
> ++ apt-cache madison juju-mongodb
> + [[ '' =~ .*juju-mongodb.* ]]
> + juju_db=mongodb-server
> ++ uname -p
> + [[ x86_64 =~ .*x86|armel|armhf.* ]]
> + juju_compiler=golang
> + sudo apt-get install -y build-essential bzr distro-info-data git-core mercurial zip rsyslog-gnutls mongodb-server golang
> Reading package lists...
>
> The make build step fails, we never get to run the unit tests.
>
> go build launchpad.net/juju-core/...
> # launchpad.net/juju-core/cert
> cert/cert.go:172: template.IPAddresses undefined (type *x509.Certificate has no field or method IPAddresses)
> # launchpad.net/juju-core/schema
> schema/schema.go:32: function ends without a return statement
> # launchpad.net/juju-core/utils
> utils/file.go:70: function ends without a return statement
> # code.google.com/p/go.crypto/ssh
> ../../code.google.com/p/go.crypto/ssh/keys.go:560: undefined: x509.ParseECPrivateKey
> # launchpad.net/juju-core/cmd
> cmd/cmd.go:137: undefined: signal.Stop
> # launchpad.net/juju-core/rpc
> rpc/server.go:340: function ends without a return statement
> # launchpad.net/juju-core/state/watcher
> state/watcher/watcher.go:212: function ends without a return statement
> # launchpad.net/juju-core/state/presence
> state/presence/presence.go:553: function ends without a return statement
> # launchpad.net/juju-core/testing/checkers
> testing/checkers/deepequal.go:43: function ends without a return statement
> # launchpad.net/juju-core/utils/parallel
> utils/parallel/try.go:78: function ends without a return statement
> utils/parallel/try.go:122: function ends without a return statement
> # launchpad.net/gwacl
> ../gwacl/management.go:346: function ends without a return statement
> ../gwacl/retry_policy.go:75: function ends without a return statement
> ../gwacl/retry_policy.go:105: function ends without a return statement
> ../gwacl/x509dispatcher.go:114: function ends without a return statement
> # launchpad.net/juju-core/worker/resumer
> worker/resumer/resumer.go:61: function ends without a return statement
> # launchpad.net/juju-core/log/syslog
> log/syslog/config.go:228: method slConfig.CACertPath is not an expression, must be called
> log/syslog/config.go:229: method slConfig.ServerCertPath is not an expression, must be called
> log/syslog/config.go:230: method slConfig.ServerKeyPath is not an expression, must be called
> # launchpad.net/goose/identity
> ../goose/iden...

Read more...

Revision history for this message
Curtis Hovey (sinzui) wrote :

As jam pointed out, the wrong golang was loaded. I had switched the test rules to use the same as the new archs hoping to see a pass. That could never happen because the new arch don't add ppas.

Changed in juju-core:
assignee: nobody → Curtis Hovey (sinzui)
status: Triaged → In Progress
Curtis Hovey (sinzui)
Changed in juju-core:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.