diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py index 64a4469e0da..3cb24bf8999 100644 --- a/tensorflow/tools/pip_package/setup.py +++ b/tensorflow/tools/pip_package/setup.py @@ -60,7 +60,7 @@ REQUIRED_PACKAGES = [ 'keras_preprocessing >= 1.1.0', 'numpy >= 1.16.0, < 2.0', 'opt_einsum >= 2.3.2', - 'protobuf >= 3.8.0', + 'protobuf >= 3.9.2', 'tensorboard >= 2.1.0, < 2.2.0', 'tensorflow_estimator >= 2.1.0, < 2.2.0', 'termcolor >= 1.1.0', diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl index 8c4c8473faa..1066479823a 100755 --- a/tensorflow/workspace.bzl +++ b/tensorflow/workspace.bzl @@ -471,26 +471,19 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): }, ) - # 310ba5ee72661c081129eb878c1bbcec936b20f0 is based on 3.8.0 with a fix for protobuf.bzl. - PROTOBUF_URLS = [ - "https://storage.googleapis.com/mirror.tensorflow.org/github.com/protocolbuffers/protobuf/archive/310ba5ee72661c081129eb878c1bbcec936b20f0.tar.gz", - "https://github.com/protocolbuffers/protobuf/archive/310ba5ee72661c081129eb878c1bbcec936b20f0.tar.gz", - ] - PROTOBUF_SHA256 = "b9e92f9af8819bbbc514e2902aec860415b70209f31dfc8c4fa72515a5df9d59" - PROTOBUF_STRIP_PREFIX = "protobuf-310ba5ee72661c081129eb878c1bbcec936b20f0" - - PROTOBUF_PATCH = "//third_party/protobuf:protobuf.patch" - tf_http_archive( name = "com_google_protobuf", - patch_file = clean_dep(PROTOBUF_PATCH), - sha256 = PROTOBUF_SHA256, - strip_prefix = PROTOBUF_STRIP_PREFIX, + patch_file = clean_dep("//third_party/protobuf:protobuf.patch"), + sha256 = "cfcba2df10feec52a84208693937c17a4b5df7775e1635c1e3baffc487b24c9b", + strip_prefix = "protobuf-3.9.2", system_build_file = clean_dep("//third_party/systemlibs:protobuf.BUILD"), system_link_files = { "//third_party/systemlibs:protobuf.bzl": "protobuf.bzl", }, - urls = PROTOBUF_URLS, + urls = [ + "https://storage.googleapis.com/mirror.tensorflow.org/github.com/protocolbuffers/protobuf/archive/v3.9.2.zip", + "https://github.com/protocolbuffers/protobuf/archive/v3.9.2.zip", + ], ) tf_http_archive( diff --git a/third_party/protobuf/protobuf.patch b/third_party/protobuf/protobuf.patch index decd92e9d03..8ce4a843759 100644 --- a/third_party/protobuf/protobuf.patch +++ b/third_party/protobuf/protobuf.patch @@ -1,17 +1,25 @@ diff --git a/BUILD b/BUILD -index 2fb26050..c2744d5b 100644 +index dbae719ff..87dc38470 100644 --- a/BUILD +++ b/BUILD -@@ -19,7 +19,7 @@ config_setting( +@@ -23,7 +23,7 @@ config_setting( # ZLIB configuration ################################################################################ - + -ZLIB_DEPS = ["@zlib//:zlib"] +ZLIB_DEPS = ["@zlib"] - + ################################################################################ # Protobuf Runtime Library -@@ -209,6 +209,7 @@ cc_library( +@@ -143,6 +143,7 @@ cc_library( + copts = COPTS, + includes = ["src/"], + linkopts = LINK_OPTS, ++ alwayslink = 1, + visibility = ["//visibility:public"], + ) + +@@ -213,6 +214,7 @@ cc_library( copts = COPTS, includes = ["src/"], linkopts = LINK_OPTS, @@ -19,26 +27,17 @@ index 2fb26050..c2744d5b 100644 visibility = ["//visibility:public"], deps = [":protobuf_lite"] + PROTOBUF_DEPS, ) -@@ -219,7 +220,7 @@ cc_library( - # TODO(keveman): Remove this target once the support gets added to Bazel. - cc_library( - name = "protobuf_headers", -- hdrs = glob(["src/**/*.h"]), -+ hdrs = glob(["src/**/*.h", "src/**/*.inc"]), - includes = ["src/"], - visibility = ["//visibility:public"], - ) - diff --git a/protobuf.bzl b/protobuf.bzl -index e0653321f..4ac23594b 100644 +index e0653321f..253d9cbb5 100644 --- a/protobuf.bzl +++ b/protobuf.bzl -@@ -85,6 +85,8 @@ def _proto_gen_impl(ctx): +@@ -84,7 +84,9 @@ def _proto_gen_impl(ctx): + for dep in ctx.attr.deps: import_flags += dep.proto.import_flags deps += dep.proto.deps + import_flags = depset(import_flags).to_list() + deps = depset(deps).to_list() - + if not ctx.attr.gen_cc and not ctx.attr.gen_py and not ctx.executable.plugin: - return struct( + return struct( \ No newline at end of file