You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2018/01/04 03:35:26 UTC

mesos git commit: Bumped bundled gRPC to 1.8.3.

Repository: mesos
Updated Branches:
  refs/heads/master ceb3c4313 -> 307b43532


Bumped bundled gRPC to 1.8.3.

Review: https://reviews.apache.org/r/64941/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/307b4353
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/307b4353
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/307b4353

Branch: refs/heads/master
Commit: 307b4353207a4e7520eb7a16d760ed5086f36ff6
Parents: ceb3c43
Author: Chun-Hung Hsiao <ch...@mesosphere.io>
Authored: Wed Jan 3 18:42:09 2018 -0800
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Jan 3 18:42:09 2018 -0800

----------------------------------------------------------------------
 3rdparty/Makefile.am                       |  36 ++--
 3rdparty/grpc-1.4.2.patch                  | 211 ------------------------
 3rdparty/grpc-1.4.2.readme                 |  12 --
 3rdparty/grpc-1.4.2.tar.gz                 | Bin 6436282 -> 0 bytes
 3rdparty/grpc-1.8.3.patch                  |  71 ++++++++
 3rdparty/grpc-1.8.3.readme                 |   4 +
 3rdparty/grpc-1.8.3.tar.gz                 | Bin 0 -> 6264212 bytes
 3rdparty/versions.am                       |   2 +-
 LICENSE                                    |  35 ----
 src/python/native_common/ext_modules.py.in |   2 +-
 10 files changed, 99 insertions(+), 274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/Makefile.am b/3rdparty/Makefile.am
index 805c6e5..1253bbd 100644
--- a/3rdparty/Makefile.am
+++ b/3rdparty/Makefile.am
@@ -94,7 +94,7 @@ EXTRA_DIST =			\
 EXTRA_DIST +=		\
   $(GLOG).patch
 
-# We patch grpc for compilation issues. See `grpc-1.4.2.readme`.
+# We patch grpc for compilation issues. See `grpc-1.8.3.readme`.
 EXTRA_DIST +=		\
   $(GRPC).patch
 
@@ -307,24 +307,32 @@ endif
 
 if ENABLE_GRPC
 if WITH_BUNDLED_GRPC
-LIB_GRPC = $(GRPC)/libs/opt/libgrpc++.a		\
-           $(GRPC)/libs/opt/libgrpc.a		\
+LIB_GRPC = $(GRPC)/libs/opt/libgrpc++.a			\
+           $(GRPC)/libs/opt/libgrpc.a			\
            $(GRPC)/libs/opt/libgpr.a
 
 $(LIB_GRPC): $(GRPC)-build-stamp
 
-$(GRPC)-build-stamp: $(GRPC)-stamp		\
+# NOTE: The `-Wno-deprecated-declarations` flag is added so that gRPC
+# can be built with OpenSSL 1.1.0. See:
+# https://github.com/grpc/grpc/pull/11496
+# NOTE: The `-Wno-unused-function` flag is added to address errors when
+# compling `src/core/tsi/ssl_transport_security.c`. See:
+# https://github.com/grpc/grpc/pull/11675
+$(GRPC)-build-stamp: $(GRPC)-stamp			\
                      $(PROTOBUF)-build-stamp
-	cd $(GRPC) &&				\
-	  CPPFLAGS="$(PROTOBUF_INCLUDE_FLAGS)	\
-	            $(SSL_INCLUDE_FLAGS)	\
-	            $(ZLIB_INCLUDE_FLAGS)"	\
-	  LDFLAGS="$(PROTOBUF_LINKER_FLAGS)	\
-	           $(SSL_LINKER_FLAGS)		\
-	           $(ZLIB_LINKER_FLAGS)"	\
-	  $(MAKE) $(AM_MAKEFLAGS)		\
-	          HAS_PKG_CONFIG=false		\
-	          NO_PROTOC=false		\
+	cd $(GRPC) &&					\
+	  CPPFLAGS="-Wno-deprecated-declarations	\
+	            -Wno-unused-function		\
+	            $(PROTOBUF_INCLUDE_FLAGS)		\
+	            $(SSL_INCLUDE_FLAGS)		\
+	            $(ZLIB_INCLUDE_FLAGS)"		\
+	  LDFLAGS="$(PROTOBUF_LINKER_FLAGS)		\
+	           $(SSL_LINKER_FLAGS)			\
+	           $(ZLIB_LINKER_FLAGS)"		\
+	  $(MAKE) $(AM_MAKEFLAGS)			\
+	          HAS_PKG_CONFIG=false			\
+	          NO_PROTOC=false			\
 	          PROTOC=$(PROTOC)
 	touch $@
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/grpc-1.4.2.patch
----------------------------------------------------------------------
diff --git a/3rdparty/grpc-1.4.2.patch b/3rdparty/grpc-1.4.2.patch
deleted file mode 100644
index e41a0d5..0000000
--- a/3rdparty/grpc-1.4.2.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ac6804a7a8..27c40f0985 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1504,6 +1504,8 @@ target_include_directories(grpc_cronet
- target_link_libraries(grpc_cronet
-   ${_gRPC_BASELIB_LIBRARIES}
-   ${_gRPC_SSL_LIBRARIES}
-+  ${_gRPC_ZLIB_LIBRARIES}
-+  ${_gRPC_CARES_LIBRARIES}
-   ${_gRPC_ALLTARGETS_LIBRARIES}
-   gpr
- )
-@@ -2094,6 +2096,8 @@ target_include_directories(grpc_unsecure
- 
- target_link_libraries(grpc_unsecure
-   ${_gRPC_BASELIB_LIBRARIES}
-+  ${_gRPC_ZLIB_LIBRARIES}
-+  ${_gRPC_CARES_LIBRARIES}
-   ${_gRPC_ALLTARGETS_LIBRARIES}
-   gpr
- )
-diff --git a/Makefile b/Makefile
-index 3d2466fce9..55fe16919b 100644
---- a/Makefile
-+++ b/Makefile
-@@ -506,7 +506,7 @@ OPENSSL_ALPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.2 openssl
- OPENSSL_NPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.1 openssl
- ZLIB_CHECK_CMD = $(PKG_CONFIG) --exists zlib
- PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.0.0 protobuf
--CARES_CHECK_CMD = $(PKG_CONFIG) --exists libcares
-+CARES_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.11.0 libcares
- else # HAS_PKG_CONFIG
- 
- ifeq ($(SYSTEM),MINGW32)
-@@ -2650,7 +2650,7 @@ install-shared_cxx: shared_cxx strip-shared_cxx install-shared_c install-pkg-con
- ifeq ($(SYSTEM),MINGW32)
- 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++.a
- else ifneq ($(SYSTEM),Darwin)
--	$(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so.4
-+	$(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so.1
- 	$(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so
- endif
- 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
-@@ -2659,7 +2659,7 @@ endif
- ifeq ($(SYSTEM),MINGW32)
- 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_cronet.a
- else ifneq ($(SYSTEM),Darwin)
--	$(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so.4
-+	$(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so.1
- 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so
- endif
- 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
-@@ -2668,7 +2668,7 @@ endif
- ifeq ($(SYSTEM),MINGW32)
- 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_error_details.a
- else ifneq ($(SYSTEM),Darwin)
--	$(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so.4
-+	$(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so.1
- 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so
- endif
- 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
-@@ -2677,7 +2677,7 @@ endif
- ifeq ($(SYSTEM),MINGW32)
- 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_reflection.a
- else ifneq ($(SYSTEM),Darwin)
--	$(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so.4
-+	$(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so.1
- 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so
- endif
- 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
-@@ -2686,7 +2686,7 @@ endif
- ifeq ($(SYSTEM),MINGW32)
- 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_unsecure.a
- else ifneq ($(SYSTEM),Darwin)
--	$(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so.4
-+	$(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so.1
- 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so
- endif
- ifneq ($(SYSTEM),MINGW32)
-@@ -2703,7 +2703,7 @@ install-shared_csharp: shared_csharp strip-shared_csharp
- ifeq ($(SYSTEM),MINGW32)
- 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP)-dll.a $(prefix)/lib/libgrpc_csharp_ext.a
- else ifneq ($(SYSTEM),Darwin)
--	$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so.4
-+	$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so.1
- 	$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so
- endif
- ifneq ($(SYSTEM),MINGW32)
-diff --git a/src/c-ares/CMakeLists.txt b/src/c-ares/CMakeLists.txt
-index 22acd51048..a5add7a64c 100644
---- a/src/c-ares/CMakeLists.txt
-+++ b/src/c-ares/CMakeLists.txt
-@@ -45,5 +45,53 @@ else()
-   add_definitions(-D_GNU_SOURCE=1)
- endif()
- 
--file(GLOB lib_sources ../../third_party/cares/cares/*.c)
--add_library(cares ${lib_sources})
-+add_library(cares 
-+  ../../third_party/cares/cares/ares__close_sockets.c
-+  ../../third_party/cares/cares/ares__get_hostent.c
-+  ../../third_party/cares/cares/ares__read_line.c
-+  ../../third_party/cares/cares/ares__timeval.c
-+  ../../third_party/cares/cares/ares_cancel.c
-+  ../../third_party/cares/cares/ares_data.c
-+  ../../third_party/cares/cares/ares_destroy.c
-+  ../../third_party/cares/cares/ares_expand_name.c
-+  ../../third_party/cares/cares/ares_expand_string.c
-+  ../../third_party/cares/cares/ares_fds.c
-+  ../../third_party/cares/cares/ares_free_hostent.c
-+  ../../third_party/cares/cares/ares_free_string.c
-+  ../../third_party/cares/cares/ares_getenv.c
-+  ../../third_party/cares/cares/ares_gethostbyaddr.c
-+  ../../third_party/cares/cares/ares_gethostbyname.c
-+  ../../third_party/cares/cares/ares_getnameinfo.c
-+  ../../third_party/cares/cares/ares_getsock.c
-+  ../../third_party/cares/cares/ares_init.c
-+  ../../third_party/cares/cares/ares_library_init.c
-+  ../../third_party/cares/cares/ares_llist.c
-+  ../../third_party/cares/cares/ares_mkquery.c
-+  ../../third_party/cares/cares/ares_create_query.c
-+  ../../third_party/cares/cares/ares_nowarn.c
-+  ../../third_party/cares/cares/ares_options.c
-+  ../../third_party/cares/cares/ares_parse_a_reply.c
-+  ../../third_party/cares/cares/ares_parse_aaaa_reply.c
-+  ../../third_party/cares/cares/ares_parse_mx_reply.c
-+  ../../third_party/cares/cares/ares_parse_naptr_reply.c
-+  ../../third_party/cares/cares/ares_parse_ns_reply.c
-+  ../../third_party/cares/cares/ares_parse_ptr_reply.c
-+  ../../third_party/cares/cares/ares_parse_soa_reply.c
-+  ../../third_party/cares/cares/ares_parse_srv_reply.c
-+  ../../third_party/cares/cares/ares_parse_txt_reply.c
-+  ../../third_party/cares/cares/ares_platform.c
-+  ../../third_party/cares/cares/ares_process.c
-+  ../../third_party/cares/cares/ares_query.c
-+  ../../third_party/cares/cares/ares_search.c
-+  ../../third_party/cares/cares/ares_send.c
-+  ../../third_party/cares/cares/ares_strcasecmp.c
-+  ../../third_party/cares/cares/ares_strdup.c
-+  ../../third_party/cares/cares/ares_strerror.c
-+  ../../third_party/cares/cares/ares_timeout.c
-+  ../../third_party/cares/cares/ares_version.c
-+  ../../third_party/cares/cares/ares_writev.c
-+  ../../third_party/cares/cares/bitncmp.c
-+  ../../third_party/cares/cares/inet_net_pton.c
-+  ../../third_party/cares/cares/inet_ntop.c
-+  ../../third_party/cares/cares/windows_port.c
-+)
-diff --git a/src/core/ext/census/tracing.c b/src/core/ext/census/tracing.c
-index 8b74628f4f..6bbeca27d9 100644
---- a/src/core/ext/census/tracing.c
-+++ b/src/core/ext/census/tracing.c
-@@ -36,7 +36,6 @@
- #include <grpc/census.h>
- #include <grpc/support/alloc.h>
- #include <grpc/support/log.h>
--#include <openssl/rand.h>
- #include "src/core/ext/census/mlog.h"
- 
- void trace_start_span(const trace_span_context *span_ctxt,
-diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template
-index 2252a7ea80..82ea9477c3 100644
---- a/templates/CMakeLists.txt.template
-+++ b/templates/CMakeLists.txt.template
-@@ -58,7 +58,7 @@
-       deps.append("${_gRPC_SSL_LIBRARIES}")
-     if target_dict.language == 'c++':
-       deps.append("${_gRPC_PROTOBUF_LIBRARIES}")
--    if target_dict['name'] in ['grpc']:
-+    if target_dict['name'] in ['grpc', 'grpc_cronet', 'grpc_unsecure']:
-       deps.append("${_gRPC_ZLIB_LIBRARIES}")
-       deps.append("${_gRPC_CARES_LIBRARIES}")
-     deps.append("${_gRPC_ALLTARGETS_LIBRARIES}")
-diff --git a/templates/Makefile.template b/templates/Makefile.template
-index a9dd171b84..cb65b455f5 100644
---- a/templates/Makefile.template
-+++ b/templates/Makefile.template
-@@ -427,7 +427,7 @@
-   OPENSSL_NPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.1 openssl
-   ZLIB_CHECK_CMD = $(PKG_CONFIG) --exists zlib
-   PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.0.0 protobuf
--  CARES_CHECK_CMD = $(PKG_CONFIG) --exists libcares
-+  CARES_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.11.0 libcares
-   else # HAS_PKG_CONFIG
- 
-   ifeq ($(SYSTEM),MINGW32)
-@@ -1349,7 +1349,7 @@
-   ifeq ($(SYSTEM),MINGW32)
-   	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/lib${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]})-dll.a $(prefix)/lib/lib${lib.name}.a
-   else ifneq ($(SYSTEM),Darwin)
--  	$(Q) ln -sf $(SHARED_PREFIX)${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]}).$(SHARED_EXT_${lang_to_var[lib.language]}) $(prefix)/lib/lib${lib.name}.so.${settings.core_version.major}
-+  	$(Q) ln -sf $(SHARED_PREFIX)${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]}).$(SHARED_EXT_${lang_to_var[lib.language]}) $(prefix)/lib/lib${lib.name}.so.${settings.get(lang_to_var[lib.language].lower() + '_version').major}
-   	$(Q) ln -sf $(SHARED_PREFIX)${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]}).$(SHARED_EXT_${lang_to_var[lib.language]}) $(prefix)/lib/lib${lib.name}.so
-   endif
-   % endif
-diff --git a/test/build/c-ares.c b/test/build/c-ares.c
-index c954e9397f..d86bbf5af6 100644
---- a/test/build/c-ares.c
-+++ b/test/build/c-ares.c
-@@ -33,6 +33,10 @@
- 
- #include <ares.h>
- 
-+#if (ARES_VERSION < 0x010b00)
-+  ARES_VERSION should not be smaller than 1.11.0
-+#endif
-+
- int main(void) {
-   ares_channel channelptr;
- 

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/grpc-1.4.2.readme
----------------------------------------------------------------------
diff --git a/3rdparty/grpc-1.4.2.readme b/3rdparty/grpc-1.4.2.readme
deleted file mode 100644
index 6675ba3..0000000
--- a/3rdparty/grpc-1.4.2.readme
+++ /dev/null
@@ -1,12 +0,0 @@
-The following lists the commits cherry-picked in `grpc-1.4.2.patch`:
-
-- cmake: add zlib and cares dep
-  https://github.com/grpc/grpc/commit/807693b
-- Fixed `grpc_unsecure` CMake build failures due to non-standard openssl location.
-  https://github.com/grpc/grpc/commit/43f7acf
-- Check the version of system c-ares
-  https://github.com/grpc/grpc/commit/f8b6d6f
-- Changes templates/Makefile.template to install grpc with correct .so version numbers
-  https://github.com/grpc/grpc/pull/11558
-- cmake: specify c-ares source explicitly
-  https://github.com/grpc/grpc/pull/11565

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/grpc-1.4.2.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/grpc-1.4.2.tar.gz b/3rdparty/grpc-1.4.2.tar.gz
deleted file mode 100644
index f4dfe63..0000000
Binary files a/3rdparty/grpc-1.4.2.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/grpc-1.8.3.patch
----------------------------------------------------------------------
diff --git a/3rdparty/grpc-1.8.3.patch b/3rdparty/grpc-1.8.3.patch
new file mode 100644
index 0000000..495e484
--- /dev/null
+++ b/3rdparty/grpc-1.8.3.patch
@@ -0,0 +1,71 @@
+diff --git a/Makefile b/Makefile
+index 3d8f77ab6a..e6bd9f9c04 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2703,7 +2703,7 @@ install-shared_cxx: shared_cxx strip-shared_cxx install-shared_c install-pkg-con
+ ifeq ($(SYSTEM),MINGW32)
+ 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++.a
+ else ifneq ($(SYSTEM),Darwin)
+-	$(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so.5
++	$(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so.1
+ 	$(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so
+ endif
+ 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -2712,7 +2712,7 @@ endif
+ ifeq ($(SYSTEM),MINGW32)
+ 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_cronet.a
+ else ifneq ($(SYSTEM),Darwin)
+-	$(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so.5
++	$(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so.1
+ 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so
+ endif
+ 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -2721,7 +2721,7 @@ endif
+ ifeq ($(SYSTEM),MINGW32)
+ 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_error_details.a
+ else ifneq ($(SYSTEM),Darwin)
+-	$(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so.5
++	$(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so.1
+ 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so
+ endif
+ 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -2730,7 +2730,7 @@ endif
+ ifeq ($(SYSTEM),MINGW32)
+ 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_reflection.a
+ else ifneq ($(SYSTEM),Darwin)
+-	$(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so.5
++	$(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so.1
+ 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so
+ endif
+ 	$(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -2739,7 +2739,7 @@ endif
+ ifeq ($(SYSTEM),MINGW32)
+ 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_unsecure.a
+ else ifneq ($(SYSTEM),Darwin)
+-	$(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so.5
++	$(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so.1
+ 	$(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so
+ endif
+ ifneq ($(SYSTEM),MINGW32)
+@@ -2756,7 +2756,7 @@ install-shared_csharp: shared_csharp strip-shared_csharp
+ ifeq ($(SYSTEM),MINGW32)
+ 	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP)-dll.a $(prefix)/lib/libgrpc_csharp_ext.a
+ else ifneq ($(SYSTEM),Darwin)
+-	$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so.5
++	$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so.1
+ 	$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so
+ endif
+ ifneq ($(SYSTEM),MINGW32)
+diff --git a/templates/Makefile.template b/templates/Makefile.template
+index 3eb838857a..38bdf7a409 100644
+--- a/templates/Makefile.template
++++ b/templates/Makefile.template
+@@ -1347,7 +1347,7 @@
+   ifeq ($(SYSTEM),MINGW32)
+   	$(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/lib${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]})-dll.a $(prefix)/lib/lib${lib.name}.a
+   else ifneq ($(SYSTEM),Darwin)
+-  	$(Q) ln -sf $(SHARED_PREFIX)${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]}).$(SHARED_EXT_${lang_to_var[lib.language]}) $(prefix)/lib/lib${lib.name}.so.${settings.core_version.major}
++  	$(Q) ln -sf $(SHARED_PREFIX)${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]}).$(SHARED_EXT_${lang_to_var[lib.language]}) $(prefix)/lib/lib${lib.name}.so.${settings.get(lang_to_var[lib.language].lower() + '_version').major}
+   	$(Q) ln -sf $(SHARED_PREFIX)${lib.name}$(SHARED_VERSION_${lang_to_var[lib.language]}).$(SHARED_EXT_${lang_to_var[lib.language]}) $(prefix)/lib/lib${lib.name}.so
+   endif
+   % endif

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/grpc-1.8.3.readme
----------------------------------------------------------------------
diff --git a/3rdparty/grpc-1.8.3.readme b/3rdparty/grpc-1.8.3.readme
new file mode 100644
index 0000000..747329b
--- /dev/null
+++ b/3rdparty/grpc-1.8.3.readme
@@ -0,0 +1,4 @@
+The following lists the commits cherry-picked in `grpc-1.8.3.patch`:
+
+- Changes templates/Makefile.template to install grpc with correct .so version numbers
+  https://github.com/grpc/grpc/pull/11558

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/grpc-1.8.3.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/grpc-1.8.3.tar.gz b/3rdparty/grpc-1.8.3.tar.gz
new file mode 100644
index 0000000..ba1e4cf
Binary files /dev/null and b/3rdparty/grpc-1.8.3.tar.gz differ

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/3rdparty/versions.am
----------------------------------------------------------------------
diff --git a/3rdparty/versions.am b/3rdparty/versions.am
index fc334cb..bd35533 100644
--- a/3rdparty/versions.am
+++ b/3rdparty/versions.am
@@ -26,7 +26,7 @@ ELFIO_VERSION = 3.2
 GLOG_VERSION = 0.3.3
 GOOGLETEST_VERSION = 1.8.0
 GPERFTOOLS_VERSION = 2.5
-GRPC_VERSION = 1.4.2
+GRPC_VERSION = 1.8.3
 HTTP_PARSER_VERSION = 2.6.2
 LEVELDB_VERSION = 1.19
 LIBEV_VERSION = 4.22

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 6aabde8..17f9704 100644
--- a/LICENSE
+++ b/LICENSE
@@ -648,38 +648,3 @@ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 OTHER DEALINGS IN THE SOFTWARE.
-
-
-======================================================================
-For grpc-1.4.2
-(3rdparty/grpc-1.4.2.tar.gz):
-======================================================================
-
-Copyright 2015, Google Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-    * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

http://git-wip-us.apache.org/repos/asf/mesos/blob/307b4353/src/python/native_common/ext_modules.py.in
----------------------------------------------------------------------
diff --git a/src/python/native_common/ext_modules.py.in b/src/python/native_common/ext_modules.py.in
index cc4c6a4..0fb39c0 100644
--- a/src/python/native_common/ext_modules.py.in
+++ b/src/python/native_common/ext_modules.py.in
@@ -128,7 +128,7 @@ def _create_module(module_name):
     # We need to check for the presense of libgrpc++.a, libgrpc.a and libgpr.a
     # only if gRPC is enabled.
     if '@ENABLE_GRPC_FALSE@' == '#':
-        grpc = os.path.join('3rdparty', 'grpc-1.4.2')
+        grpc = os.path.join('3rdparty', 'grpc-1.8.3')
         libgrpcxx = os.path.join(abs_top_builddir, grpc, 'libs', 'opt', 'libgrpc++.a')
         libgrpc = os.path.join(abs_top_builddir, grpc, 'libs', 'opt', 'libgrpc.a')
         libgpr = os.path.join(abs_top_builddir, grpc, 'libs', 'opt', 'libgpr.a')