The issue is armv6 released binaries are used as a GOROOT_BOOTSTRAP.
This might work on arm64 platforms that support 32-bit mode.
However not all arm64 platforms support 32-bit mode. 32-bit mode
is optional for ARMv8. So use gccgo as bootstrap.
The build image is bumped to use ubuntu wily.
Signed-off-by: Vijaya Kumar K <vijayak@caviumnetworks.com>
| ... | ... |
@@ -15,7 +15,7 @@ |
| 15 | 15 |
# the case. Therefore, you don't have to disable it anymore. |
| 16 | 16 |
# |
| 17 | 17 |
|
| 18 |
-FROM aarch64/debian:jessie |
|
| 18 |
+FROM aarch64/ubuntu:wily |
|
| 19 | 19 |
|
| 20 | 20 |
# Packaged dependencies |
| 21 | 21 |
RUN apt-get update && apt-get install -y \ |
| ... | ... |
@@ -37,7 +37,7 @@ RUN apt-get update && apt-get install -y \ |
| 37 | 37 |
libc6-dev \ |
| 38 | 38 |
libcap-dev \ |
| 39 | 39 |
libsqlite3-dev \ |
| 40 |
- libsystemd-journal-dev \ |
|
| 40 |
+ libsystemd-dev \ |
|
| 41 | 41 |
mercurial \ |
| 42 | 42 |
net-tools \ |
| 43 | 43 |
parallel \ |
| ... | ... |
@@ -46,6 +46,7 @@ RUN apt-get update && apt-get install -y \ |
| 46 | 46 |
python-mock \ |
| 47 | 47 |
python-pip \ |
| 48 | 48 |
python-websocket \ |
| 49 |
+ gccgo \ |
|
| 49 | 50 |
--no-install-recommends |
| 50 | 51 |
|
| 51 | 52 |
# Install armhf loader to use armv6 binaries on armv8 |
| ... | ... |
@@ -95,14 +96,11 @@ RUN set -x \ |
| 95 | 95 |
# We don't have official binary tarballs for ARM64, eigher for Go or bootstrap, |
| 96 | 96 |
# so we use the official armv6 released binaries as a GOROOT_BOOTSTRAP, and |
| 97 | 97 |
# build Go from source code. |
| 98 |
-ENV BOOT_STRAP_VERSION 1.6beta1 |
|
| 99 | 98 |
ENV GO_VERSION 1.5.3 |
| 100 |
-RUN mkdir -p /usr/src/go-bootstrap \ |
|
| 101 |
- && curl -fsSL https://storage.googleapis.com/golang/go${BOOT_STRAP_VERSION}.linux-arm6.tar.gz | tar -v -C /usr/src/go-bootstrap -xz --strip-components=1 \
|
|
| 102 |
- && mkdir /usr/src/go \ |
|
| 103 |
- && curl -fsSL https://storage.googleapis.com/golang/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/src/go -xz --strip-components=1 \
|
|
| 99 |
+RUN mkdir /usr/src/go && curl -fsSL https://storage.googleapis.com/golang/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/src/go -xz --strip-components=1 \
|
|
| 104 | 100 |
&& cd /usr/src/go/src \ |
| 105 |
- && GOOS=linux GOARCH=arm64 GOROOT_BOOTSTRAP=/usr/src/go-bootstrap ./make.bash |
|
| 101 |
+ && GOOS=linux GOARCH=arm64 GOROOT_BOOTSTRAP="$(go env GOROOT)" ./make.bash |
|
| 102 |
+ |
|
| 106 | 103 |
ENV PATH /usr/src/go/bin:$PATH |
| 107 | 104 |
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor |
| 108 | 105 |
|