google-deepmind / scalable_agent

A TensorFlow implementation of Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures.
Apache License 2.0
981 stars 161 forks source link

unable to install with docker file as given #16

Closed rnunziata closed 6 years ago

rnunziata commented 6 years ago

Trying Dockerfile and get the following:

ERROR: /lab/BUILD:895:1: Linking of rule '//:libdmlab_headless_hw.so' failed (Exit 1)
gcc: error: :dmlab.lds: No such file or directory
Target //python/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 78.655s, Critical Path: 34.17s
INFO: 835 processes: 835 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
The command '/bin/sh -c NP_INC="$(python -c 'import numpy as np; print(np.get_include())[5:]')" &&     git clone https://github.com/deepmind/lab.git &&     cd lab &&     sed -i 's@hdrs = glob(\[@hdrs = glob(["'"$NP_INC"'/\*\*/*.h", @g' python.BUILD &&     sed -i 's@includes = \[@includes = ["'"$NP_INC"'", @g' python.BUILD &&     bazel build -c opt python/pip_package:build_pip_package &&     pip install wheel &&     ./bazel-bin/python/pip_package/build_pip_package /tmp/dmlab_pkg &&     pip install /tmp/dmlab_pkg/DeepMind_Lab-1.0-py2-none-any.whl --force-reinstall' returned a non-zero code: 1
lespeholt commented 6 years ago

Seems to be a DeepMind Lab error: https://github.com/deepmind/lab/issues/106

rnunziata commented 6 years ago

Thanks ... added my data to that issue and I am closing this one.

bboyseiok commented 6 years ago

I kind of came up with temporary fix for this. You just need to modify this repo's dockerfile to install the bazel 0.16.1 version.

The problem is that the following dockerfile code line,

RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"

gets the latest stable version which is bazel 0.17.1 which was released just days ago (2018-09-14)

I changed the line

RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | \
    tee /etc/apt/sources.list.d/bazel.list && \
    curl https://bazel.build/bazel-release.pub.gpg | \
    apt-key add - && \
    apt-get update && apt-get install -y bazel

to

RUN export BAZEL_VERSION=0.16.1 && \
    wget https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh && \
    sed -i 's@sudo@, @g' bazel-$BAZEL_VERSION-installer-linux-x86_64.sh && \
    chmod +x bazel-$BAZEL_VERSION-installer-linux-x86_64.sh &&\
    ./bazel-$BAZEL_VERSION-installer-linux-x86_64.sh --user

ENV PATH="/root/bin:${PATH}"

And It should build without errors. (as of 2018-09-18)

You can use the Dockerfile here