NVIDIA / nvidia-docker

Build and run Docker containers leveraging NVIDIA GPUs
Apache License 2.0
17.26k stars 2.03k forks source link

build failed on PPC64le (IBM OpenPower) #390

Closed ysh329 closed 7 years ago

ysh329 commented 7 years ago

I'm new to build this. Have a guide about how to build this nvidia-docker?

I don't know what can I do next! Thanks a lot!

[root@localhost nvidia-docker-ppc64le]# make -j $(nproc)
Sending build context to Docker daemon 184.3 kB
Step 1/22 : FROM ppc64le/golang:1.6.3
 ---> 6a579d02d32f
Step 2/22 : RUN echo "deb http://httpredir.debian.org/debian stretch main" >> /etc/apt/sources.list &&     echo "deb http://httpredir.debian.org/debian stretch-updates main" >> /etc/apt/sources.list &&     echo "deb http://security.debian.org stretch/updates main" >> /etc/apt/sources.list &&     apt-get clean && apt-get update &&     apt-get upgrade -y         binutils         libc6         libc6-dev         libc-bin &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> e53e28c10726
Step 3/22 : RUN NVIDIA_GPGKEY_SUM=bd841d59a27a406e513db7d405550894188a4c1cd96bf8aa4f82f1b39e0b5c1c &&     NVIDIA_GPGKEY_FPR=889bee522da690103c4b085ed88c3d385c37d3be &&     apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/GPGKEY &&     apt-key adv --export --no-emit-version -a $NVIDIA_GPGKEY_FPR | tail -n +2 > cudasign.pub &&     echo "$NVIDIA_GPGKEY_SUM  cudasign.pub" | sha256sum -c --strict - && rm cudasign.pub &&     echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/ppc64el /" > /etc/apt/sources.list.d/cuda.list
 ---> Using cache
 ---> d19e8b3dcbd4
Step 4/22 : RUN apt-get update && apt-get install -y --no-install-recommends         cuda-cudart-dev-7-5=7.5-23          cuda-misc-headers-7-5=7.5-23 &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 4bdbb6d81a5f
Step 5/22 : RUN NVIDIA_GDK_SUM=064678e29d39f0c21f4b66c5e2fb18ba65fd9bc3372d0b319c31cab0e791fc1c &&     curl -fsSL -o gdk.run http://developer.download.nvidia.com/compute/cuda/7.5/Prod/gdk/gdk_linux_ppc64le_352_79_release.run &&     echo "$NVIDIA_GDK_SUM  gdk.run" | sha256sum -c --strict - &&     chmod +x gdk.run && ./gdk.run --silent && rm gdk.run
 ---> Using cache
 ---> 6c57732b21ff
Step 6/22 : VOLUME /go/bin
 ---> Using cache
 ---> 6ee9057eba8f
Step 7/22 : WORKDIR /go/src/github.com/NVIDIA/nvidia-docker/src
 ---> Using cache
 ---> f0426ec892f4
Step 8/22 : COPY src .
 ---> Using cache
 ---> 8e2110dc3760
Step 9/22 : ENV CGO_CFLAGS "-I /usr/local/cuda-7.5/include -I /usr/include/nvidia/gdk"
 ---> Using cache
 ---> 82f9a1339cb0
Step 10/22 : ENV CGO_LDFLAGS "-L /usr/local/cuda-7.5/lib64"
 ---> Using cache
 ---> e9053000684b
Step 11/22 : RUN go get -v ./...
 ---> Running in ffcb6ed3e466
github.com/justinas/alice (download)
# cd .; git clone https://github.com/justinas/alice /go/src/github.com/justinas/alice
Cloning into '/go/src/github.com/justinas/alice'...
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
package github.com/justinas/alice: exit status 128
Fetching https://gopkg.in/tylerb/graceful.v1?go-get=1
Parsing meta tags from https://gopkg.in/tylerb/graceful.v1?go-get=1 (status code 200)
get "gopkg.in/tylerb/graceful.v1": found meta tag main.metaImport{Prefix:"gopkg.in/tylerb/graceful.v1", VCS:"git", RepoRoot:"https://gopkg.in/tylerb/graceful.v1"} at https://gopkg.in/tylerb/graceful.v1?go-get=1
gopkg.in/tylerb/graceful.v1 (download)
# cd .; git clone https://gopkg.in/tylerb/graceful.v1 /go/src/gopkg.in/tylerb/graceful.v1
Cloning into '/go/src/gopkg.in/tylerb/graceful.v1'...
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
package gopkg.in/tylerb/graceful.v1: exit status 128
Fetching https://golang.org/x/crypto/ssh?go-get=1
https fetch failed: Get https://golang.org/x/crypto/ssh?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/crypto/ssh: unrecognized import path "golang.org/x/crypto/ssh" (https fetch: Get https://golang.org/x/crypto/ssh?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
Fetching https://golang.org/x/crypto/ssh/agent?go-get=1
https fetch failed: Get https://golang.org/x/crypto/ssh/agent?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/crypto/ssh/agent: unrecognized import path "golang.org/x/crypto/ssh/agent" (https fetch: Get https://golang.org/x/crypto/ssh/agent?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
Fetching https://golang.org/x/crypto/ssh/terminal?go-get=1
https fetch failed: Get https://golang.org/x/crypto/ssh/terminal?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/crypto/ssh/terminal: unrecognized import path "golang.org/x/crypto/ssh/terminal" (https fetch: Get https://golang.org/x/crypto/ssh/terminal?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
The command '/bin/sh -c go get -v ./...' returned a non-zero code: 1
make: *** [build] Error 1
ysh329 commented 7 years ago

make deb log below:

Sending build context to Docker daemon 184.8 kB
Step 1/22 : FROM ppc64le/golang:1.6.3
 ---> 6a579d02d32f
Step 2/22 : RUN echo "deb http://httpredir.debian.org/debian stretch main" >> /etc/apt/sources.list &&     echo "deb http://httpredir.debian.org/debian stretch-updates main" >> /etc/apt/sources.list &&     echo "deb http://security.debian.org stretch/updates main" >> /etc/apt/sources.list &&     apt-get clean && apt-get update &&     apt-get upgrade -y         binutils         libc6         libc6-dev         libc-bin &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> e53e28c10726
Step 3/22 : RUN NVIDIA_GPGKEY_SUM=bd841d59a27a406e513db7d405550894188a4c1cd96bf8aa4f82f1b39e0b5c1c &&     NVIDIA_GPGKEY_FPR=889bee522da690103c4b085ed88c3d385c37d3be &&     apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/GPGKEY &&     apt-key adv --export --no-emit-version -a $NVIDIA_GPGKEY_FPR | tail -n +2 > cudasign.pub &&     echo "$NVIDIA_GPGKEY_SUM  cudasign.pub" | sha256sum -c --strict - && rm cudasign.pub &&     echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/ppc64el /" > /etc/apt/sources.list.d/cuda.list
 ---> Using cache
 ---> d19e8b3dcbd4
Step 4/22 : RUN apt-get update && apt-get install -y --no-install-recommends         cuda-cudart-dev-7-5=7.5-23          cuda-misc-headers-7-5=7.5-23 &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 4bdbb6d81a5f
Step 5/22 : RUN NVIDIA_GDK_SUM=064678e29d39f0c21f4b66c5e2fb18ba65fd9bc3372d0b319c31cab0e791fc1c &&     curl -fsSL -o gdk.run http://developer.download.nvidia.com/compute/cuda/7.5/Prod/gdk/gdk_linux_ppc64le_352_79_release.run &&     echo "$NVIDIA_GDK_SUM  gdk.run" | sha256sum -c --strict - &&     chmod +x gdk.run && ./gdk.run --silent && rm gdk.run
 ---> Using cache
 ---> 6c57732b21ff
Step 6/22 : VOLUME /go/bin
 ---> Using cache
 ---> 6ee9057eba8f
Step 7/22 : WORKDIR /go/src/github.com/NVIDIA/nvidia-docker/src
 ---> Using cache
 ---> f0426ec892f4
Step 8/22 : COPY src .
 ---> Using cache
 ---> 8e2110dc3760
Step 9/22 : ENV CGO_CFLAGS "-I /usr/local/cuda-7.5/include -I /usr/include/nvidia/gdk"
 ---> Using cache
 ---> 82f9a1339cb0
Step 10/22 : ENV CGO_LDFLAGS "-L /usr/local/cuda-7.5/lib64"
 ---> Using cache
 ---> e9053000684b
Step 11/22 : RUN go get -v ./...
 ---> Running in 7db616deb9eb
github.com/justinas/alice (download)
Fetching https://gopkg.in/tylerb/graceful.v1?go-get=1
Parsing meta tags from https://gopkg.in/tylerb/graceful.v1?go-get=1 (status code 200)
get "gopkg.in/tylerb/graceful.v1": found meta tag main.metaImport{Prefix:"gopkg.in/tylerb/graceful.v1", VCS:"git", RepoRoot:"https://gopkg.in/tylerb/graceful.v1"} at https://gopkg.in/tylerb/graceful.v1?go-get=1
gopkg.in/tylerb/graceful.v1 (download)
# cd .; git clone https://gopkg.in/tylerb/graceful.v1 /go/src/gopkg.in/tylerb/graceful.v1
Cloning into '/go/src/gopkg.in/tylerb/graceful.v1'...
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
package gopkg.in/tylerb/graceful.v1: exit status 128
Fetching https://golang.org/x/crypto/ssh?go-get=1
https fetch failed: Get https://golang.org/x/crypto/ssh?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/crypto/ssh: unrecognized import path "golang.org/x/crypto/ssh" (https fetch: Get https://golang.org/x/crypto/ssh?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
Fetching https://golang.org/x/crypto/ssh/agent?go-get=1
https fetch failed: Get https://golang.org/x/crypto/ssh/agent?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/crypto/ssh/agent: unrecognized import path "golang.org/x/crypto/ssh/agent" (https fetch: Get https://golang.org/x/crypto/ssh/agent?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
Fetching https://golang.org/x/crypto/ssh/terminal?go-get=1
https fetch failed: Get https://golang.org/x/crypto/ssh/terminal?go-get=1: dial tcp 216.239.37.1:443: i/o timeout
package golang.org/x/crypto/ssh/terminal: unrecognized import path "golang.org/x/crypto/ssh/terminal" (https fetch: Get https://golang.org/x/crypto/ssh/terminal?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
The command '/bin/sh -c go get -v ./...' returned a non-zero code: 1
make: *** [build] Error 1

Is this network problem? How can I do next ! THanks a lot! I wish someone can give a pre-built version for PPC64le nvidia-docker!

Besides, I found that this image seems using cuda-7.5, however cuda-8.0 installed on my ibm machine, can I use this version if build successfully?

flx42 commented 7 years ago

Seems like a network problem. Does the following command work go get gopkg.in/tylerb/graceful.v1? If you have go installed.

I found that this image seems using cuda-7.5, however cuda-8.0 installed on my ibm machine, can I use this version if build successfully?

It doesn't matter for the plugin, and it won't be using the CUDA version from the host anyway.

ysh329 commented 7 years ago

@flx42 Very thanks for your replying. Our network engineer told me: this machine have some network problems. :sob: go get gopkg.in/tylerb/graceful.v1 printed bash : go : command not found. Besides, I wanna ask: Is it necessary to install nvidia-docker if my docker images is nvidia/cuda-ppc64le from NVIDIA official DockerHub repo?

flx42 commented 7 years ago

go get gopkg.in/tylerb/graceful.v1 printed bash : go : command not found.

Well OK, you don't have go on this machine, you can't test :)

Is it necessary to install nvidia-docker if my docker images is nvidia/cuda-ppc64le from NVIDIA official DockerHub repo?

If you want to execute CUDA code, then yes you need nvidia-docker. For building a new Docker image based on nvidia/cuda-ppc64le with docker build, you don't need a GPU nor nvidia-docker.

ysh329 commented 7 years ago

@flx42 Very thanks a lot!

ysh329 commented 7 years ago

similar issue

**Build fails behind a HTTP proxy · Issue #42 · NVIDIA/nvidia-docker https://github.com/NVIDIA/nvidia-docker/issues/42