Skip to content

Test failure on Ubuntu 15.10 (ppc64le) while building goes supplementary network libraries #15151

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
MaheshWaidande opened this issue Apr 6, 2016 · 1 comment

Comments

@MaheshWaidande
Copy link

Hi All,

I am working porting go supplementary networking library ( https://godoc.org/golang.org/x/net ) on ppc64le architecture. I am using Ubuntu 15.10 on top of ppc64le hardware. I have successfully built go supplementary network repository on ppc64le but while running automated test case suite I observe that one test case is failing with ‘found empty parent’ error.

Below is the description of test case, which is failing on Ubuntu 15.10,

ok go/ast 0.003s
--- FAIL: TestImportVendorParentFailure (0.00s)
build_test.go:339: found empty parent in /go/src/vendor/golang.org/x/net/http2
FAIL
FAIL go/build 1.350s

I performed below steps for compiling / building go supplementary network library on Ubuntu 15.10 (ppc64le)

Step 1: Update repositories and install required packages to build go repository
$ apt-get update && apt-get install -y git python gcc g++ make build-essential bison gccgo-5

Step 2 : Fetch go source from git repository
git clone https://github.com/golang/go.git && cd go

Step 3 : Check out last stable release of go and build and test it before proceeding further
git checkout origin/release-branch.go1.6
cd src/

Step 4 : updates the links in /etc/alternatives directory
update-alternatives --set go /usr/bin/go-5
export GOROOT_BOOTSTRAP=/usr

Step 5: build and test go code
./all.bash

Step 6: prepare directory structure to fetch go supplementary network libraries and its dependency code
cd vendor/
mkdir -p golang.org/x
cd golang.org/x/

Step 7: Clone go supplementary network libraries and it's dependency code
git clone https://github.com/golang/text.git
git clone https://github.com/golang/crypto.git
git clone https://github.com/golang/net.git

Step 8: Step into ‘net’ directory and fetch last stable release of go supplementary network library
cd net/
git checkout origin/release-branch.go1.6

Step 9: Go to 'go/src' directory and run 'all.bash' script to build and test go packages
cd ../../../../
./all.bash

I followed same steps on Ubuntu 15.10 + amd64 combination and get exactly same result. TestImportVendorParentFailure test case fails with ‘found empty parent in /go/src/vendor/golang.org/x/net/http2’ error.

Any pointers/suggestions on failed test case will be great help.

Below is additional information required for debug / resolve /reproduce test case failure,

  1. What version of Go are you using (go version)?
    $ go version
    go version go1.4.2 gccgo (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010 linux/ppc64le
  2. What operating system and processor architecture are you using (go env)?

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.10
Release: 15.10
Codename: wily

$ go env
GOARCH="ppc64le"
GOBIN=""
GOCHAR="9"
GOEXE=""
GOHOSTARCH="ppc64le"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr"
GOTOOLDIR="/usr/lib/gcc/powerpc64le-linux-gnu/5"
CC="/usr/bin/gcc-5"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0"
CXX="/usr/bin/g++-5"
CGO_ENABLED="1"

$ uname -a
Linux 9de5feaaf936 3.16.0-30-generic #40-Ubuntu SMP Mon Jan 12 22:07:11 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux

  1. What did you do?
    I am working porting go supplementary networking libraries https://godoc.org/golang.org/x/net on ppc64le architecture. Already provided steps to reproduce test case failure
  2. What did you expect to see?
    No test case failure on Ubuntu 15.10 + ppc64le combination
  3. What did you see instead?
    Automated test case execution failed due to failure of ‘TestImportVendorParentFailure’ test case
@bradfitz
Copy link
Contributor

bradfitz commented Apr 6, 2016

I think this is your problem:

Step 6: prepare directory structure to fetch go supplementary network libraries and its dependency code
cd vendor/
mkdir -p golang.org/x
cd golang.org/x/

That's not how you hack on the golang.org/x/... repos. You don't put them in your $GOROOT. Instead, you put them in your $GOPATH.

See https://golang.org/doc/code.html

Feel free to reopen this bug if I'm missing something.

@bradfitz bradfitz closed this as completed Apr 6, 2016
@golang golang locked and limited conversation to collaborators Apr 6, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants