google-deepmind/streetlearn

streetlearn failing to build

Closed this issue · 4 comments

bazel build streetlearn/python/ui:all
WARNING: Output base '/nfs/home/amyzhang/.cache/bazel/_bazel_amyzhang/0bce956ffd6e1c7cd5b3d4558adebb9e' is on NFS. This may lead to surprising failures and undetermined behavior.
INFO: Analysed 4 targets (0 packages loaded, 0 targets configured).
INFO: Found 4 targets...
ERROR: /nfs/home/amyzhang/streetlearn/streetlearn/proto/BUILD:43:1: ClifProtoLibraryGeneration streetlearn/proto/streetlearn_pyclif.h failed (Exit 1) proto failed: error executing command bazel-out/host/bin/external/clif/proto -c bazel-out/k8-fastbuild/genfiles/streetlearn/proto/streetlearn_pyclif.cc -h bazel-out/k8-fastbuild/genfiles/streetlearn/proto/streetlearn_pyclif.h ... (remaining 3 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
Traceback (most recent call last):
File "bazel-out/host/bin/external/clif/proto", line 6, in
from clif.python.proto import start
File "/nfs/home/amyzhang/opt/clif/local/lib/python2.7/site-packages/clif/python/proto.py", line 29, in
from clif.python.utils import proto_util
ImportError: /nfs/home/amyzhang/opt/clif/local/lib/python2.7/site-packages/clif/python/utils/proto_util.so: undefined symbol: _ZNK6google8protobuf16MethodDescriptor10input_typeEv
INFO: Elapsed time: 2.889s, Critical Path: 1.95s
INFO: 3 processes: 3 linux-sandbox.
FAILED: Build did NOT complete successfully

This is on Ubuntu 16.04.5 after successfully installing CLIF and other dependencies.

Could you please execute the following command and provide the output? It may be possible that you have a competing protobuf installation on your system.

ldd /nfs/home/amyzhang/opt/clif/local/lib/python2.7/site-packages/clif/python/utils/proto_util.so

linux-vdso.so.1 =>  (0x00007ffd19ff0000)
libprotobuf.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf.so.9 (0x00007f00884c0000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f008813e000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0087f28000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0087b5e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0087941000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0087727000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f008741e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0088a06000)

(sorry it took me so many days to get back to this)

@bhandras how does the result above look? Does it mean that there is already a protobuf installation?

Yes, looking at the path it seems that protobuf was installed using apt-get. CLIF installation requires protobuf compiled from source (see https://github.com/google/clif#prerequisites) and we depend on CLIF for the Python bindings.