diff --git a/BUILD b/BUILD
index 70bd4062a4971a4f5309677bddcedaece699cd5e..57709e47450ea40a508e9dc007a8ff108934f5fa 100644
--- a/BUILD
+++ b/BUILD
@@ -1277,6 +1277,9 @@ grpc_cc_library(
         "src/cpp/server/thread_pool_interface.h",
         "src/cpp/thread_manager/thread_manager.h",
     ],
+    external_deps = [
+        "nanopb",
+    ],
     language = "c++",
     public_hdrs = [
         "include/grpc++/alarm.h",
@@ -1328,7 +1331,7 @@ grpc_cc_library(
         "include/grpc++/support/time.h",
     ],
     deps = [
-        "grpc",
+        "grpc_base",
         "grpc++_codegen_base",
     ],
 )
diff --git a/WORKSPACE b/WORKSPACE
index 5ba82f3127b3eca2be4205e3574905234d7f6d55..a78a88979e7d149283a9cf3582a31cf964909927 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -15,17 +15,17 @@ bind(
 
 bind(
     name = "protobuf",
-    actual = "@submodule_protobuf//:protobuf",
+    actual = "@com_google_protobuf//:protobuf",
 )
 
 bind(
     name = "protobuf_clib",
-    actual = "@submodule_protobuf//:protoc_lib",
+    actual = "@com_google_protobuf//:protoc_lib",
 )
 
 bind(
     name = "protocol_compiler",
-    actual = "@submodule_protobuf//:protoc",
+    actual = "@com_google_protobuf//:protoc",
 )
 
 bind(
@@ -48,9 +48,8 @@ bind(
     actual = "@com_github_gflags_gflags//:gflags",
 )
 
-new_local_repository(
+local_repository(
     name = "submodule_boringssl",
-    build_file = "third_party/boringssl-with-bazel/BUILD",
     path = "third_party/boringssl-with-bazel",
 )
 
@@ -61,7 +60,7 @@ new_local_repository(
 )
 
 new_local_repository(
-    name = "submodule_protobuf",
+    name = "com_google_protobuf",
     build_file = "third_party/protobuf/BUILD",
     path = "third_party/protobuf",
 )
diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD
index 38f804ffd401fe8205a6ac1c2ffb675b1efeffa8..c83f89eb9066c8a533c982397b1489af01e2cda2 100644
--- a/test/cpp/util/BUILD
+++ b/test/cpp/util/BUILD
@@ -29,6 +29,15 @@
 
 licenses(["notice"])  # 3-clause BSD
 
+# The following builds a shared-object to confirm that grpc++_unsecure
+# builds properly. Build-only is sufficient here
+cc_binary(
+    name = "testso.so",
+    srcs = [],
+    deps = ["//:grpc++_unsecure"],
+    linkshared = 1,
+)
+
 cc_library(
     name = "test_config",
     srcs = [