Cannot build master of Tensorflow Serving
Question: I've built Tensorflow from source, CUDA 8.0, python 3.5, Ubuntu 16.04,
targeting a NVIDIA 1070, and it works fine.

> Python 3.5.2 (default, Jul 5 2016, 12:43:10) [GCC 5.4.0 20160609] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>

>> > > import tensorflow as tf I tensorflow/stream_executor/dso_loader.cc:108]
successfully opened CUDA library libcublas.so.8.0 locally I
tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library
libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:108]
successfully opened CUDA library libcufft.so.8.0 locally I
tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library
libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:108]
successfully opened CUDA library libcurand.so.8.0 locally

However, when attempting to build tensorflow_serving from source, it always
fails as such:

> Blockquote File
> "/home/alitz/.cache/bazel/_bazel_alitz/7318bb8e61ee048c2d10c9f8fb67c783/execroot/serving/bazel-
> out/host/bin/external/org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.runfiles/tf_serving/../org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.py",
> line 115, in tf.app.run() File
> "/home/alitz/.cache/bazel/_bazel_alitz/7318bb8e61ee048c2d10c9f8fb67c783/execroot/serving/bazel-
> out/host/bin/external/org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.runfiles/org_tensorflow/tensorflow/python/platform/app.py",
> line 30, in run sys.exit(main(sys.argv)) File
> "/home/alitz/.cache/bazel/_bazel_alitz/7318bb8e61ee048c2d10c9f8fb67c783/execroot/serving/bazel-
> out/host/bin/external/org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.runfiles/tf_serving/../org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.py",
> line 111, in main Export() File
> "/home/alitz/.cache/bazel/_bazel_alitz/7318bb8e61ee048c2d10c9f8fb67c783/execroot/serving/bazel-
> out/host/bin/external/org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.runfiles/tf_serving/../org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.py",
> line 106, in Export assets_callback=CopyAssets) File
> "/home/alitz/.cache/bazel/_bazel_alitz/7318bb8e61ee048c2d10c9f8fb67c783/execroot/serving/bazel-
> out/host/bin/external/org_tensorflow/tensorflow/contrib/session_bundle/example/export_half_plus_two.runfiles/org_tensorflow/tensorflow/contrib/session_bundle/exporter.py",
> line 202, in init graph_any_buf.Pack(copy) AttributeError: 'Any' object has
> no attribute 'Pack' Blockquote

Any help would be greatly appreciated, or I will quit my job and go work
construction.

Thanks.


Answer: Though I built protobuf from source, apparently this wasn't enough.

Steps to fix:

sudo pip uninstall protobuf  
sudo pip install --upgrade protobuf==3.0.0b2

This version, and only this version, seems to work with the master for
tensorflow_serving, at least for me.

