diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
index 94b1930db2..da49fbea84 100644
--- a/tensorflow/workspace.bzl
+++ b/tensorflow/workspace.bzl
@@ -90,6 +90,8 @@ def tf_workspace(path_prefix="", tf_repo_name=""):
       ],
      sha256 = "f1a7349f88d2846210c42e2f7271dabeee404c2a3b4198e34a797993e3569b03",
      strip_prefix = "abseil-cpp-cc4bed2d74f7c8717e31f9579214ab52a9c9c610",
+     # Patch abseil to remove minimum glibc requirement
+     patch_file = str(Label("//third_party/protobuf:remove_glibc_check.patch")),
   )
 
   tf_http_archive(
@@ -458,6 +460,7 @@ def tf_workspace(path_prefix="", tf_repo_name=""):
       ],
       sha256 = "524ba98a56300149696481b4cb9ddebd0c7b7ac9b9f6edee81da2d2d7e5d2bb3",
       strip_prefix = "boringssl-a0fb951d2a26a8ee746b52f3ba81ab011a0af778",
+     patch_file = str(Label("//third_party/protobuf:add_time_h.patch")),
   )
 
   tf_http_archive(
diff --git a/third_party/protobuf/add_time_h.patch b/third_party/protobuf/add_time_h.patch
new file mode 100644
index 0000000000..1bd2a90fcb
--- /dev/null
+++ b/third_party/protobuf/add_time_h.patch
@@ -0,0 +1,12 @@
+diff --git a/src/crypto/bio/socket_helper.c b/src/crypto/bio/socket_helper.c
+index 268405a..7dbb5d3 100644
+--- a/src/crypto/bio/socket_helper.c
++++ b/src/crypto/bio/socket_helper.c
+@@ -18,6 +18,7 @@
+ #include <openssl/bio.h>
+ #include <openssl/err.h>
+ 
++#include <time.h>
+ #include <fcntl.h>
+ #include <string.h>
+ #include <sys/types.h>
diff --git a/third_party/protobuf/remove_glibc_check.patch b/third_party/protobuf/remove_glibc_check.patch
new file mode 100644
index 0000000000..49f36bfa44
--- /dev/null
+++ b/third_party/protobuf/remove_glibc_check.patch
@@ -0,0 +1,20 @@
+diff --git a/absl/base/policy_checks.h b/absl/base/policy_checks.h
+index 17c05c1..082ed26 100644
+--- a/absl/base/policy_checks.h
++++ b/absl/base/policy_checks.h
+@@ -82,15 +82,6 @@
+ // Standard Library Check
+ // -----------------------------------------------------------------------------
+ 
+-// We have chosen glibc 2.12 as the minimum as it was tagged for release
+-// in May, 2010 and includes some functionality used in Google software
+-// (for instance pthread_setname_np):
+-// https://sourceware.org/ml/libc-alpha/2010-05/msg00000.html
+-#ifdef __GLIBC_PREREQ
+-#if !__GLIBC_PREREQ(2, 12)
+-#error "Minimum required version of glibc is 2.12."
+-#endif
+-#endif
+ 
+ #if defined(_STLPORT_VERSION)
+ #error "STLPort is not supported."
