You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2019/04/25 13:31:02 UTC
[arrow] branch master updated: ARROW-4702: [C++] Update dependency
versions
This is an automated email from the ASF dual-hosted git repository.
wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new f913d8f ARROW-4702: [C++] Update dependency versions
f913d8f is described below
commit f913d8f0adff71c288a10f6c1b0ad2d1ab3e9e32
Author: Antoine Pitrou <an...@python.org>
AuthorDate: Thu Apr 25 08:28:58 2019 -0500
ARROW-4702: [C++] Update dependency versions
Author: Antoine Pitrou <an...@python.org>
Closes #4189 from pitrou/ARROW-4702-update-deps and squashes the following commits:
f13660f4e <Antoine Pitrou> ARROW-4702: Update dependency versions
---
cpp/cmake_modules/ThirdpartyToolchain.cmake | 200 +++++++--------------
...17c897976c60b0e6e4f4a365c751027244dada7a.tar.gz | Bin 454719 -> 0 bytes
cpp/thirdparty/versions.txt | 23 ++-
3 files changed, 80 insertions(+), 143 deletions(-)
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 30f99ff..1c42d87 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -280,6 +280,13 @@ else()
"https://github.com/google/googletest/archive/release-${GTEST_VERSION}.tar.gz")
endif()
+if(DEFINED ENV{ARROW_JEMALLOC_URL})
+ set(JEMALLOC_SOURCE_URL "$ENV{ARROW_JEMALLOC_URL}")
+else()
+ set(JEMALLOC_SOURCE_URL
+ "https://github.com/jemalloc/jemalloc/archive/${JEMALLOC_VERSION}.tar.gz")
+endif()
+
if(DEFINED ENV{ARROW_LZ4_URL})
set(LZ4_SOURCE_URL "$ENV{ARROW_LZ4_URL}")
else()
@@ -320,10 +327,8 @@ endif()
if(DEFINED ENV{ARROW_SNAPPY_URL})
set(SNAPPY_SOURCE_URL "$ENV{ARROW_SNAPPY_URL}")
else()
- set(
- SNAPPY_SOURCE_URL
- "https://github.com/google/snappy/releases/download/${SNAPPY_VERSION}/snappy-${SNAPPY_VERSION}.tar.gz"
- )
+ set(SNAPPY_SOURCE_URL
+ "https://github.com/google/snappy/archive/${SNAPPY_VERSION}.tar.gz")
endif()
if(DEFINED ENV{ARROW_THRIFT_URL})
@@ -338,8 +343,10 @@ endif()
if(DEFINED ENV{ARROW_URIPARSER_URL})
set(URIPARSER_SOURCE_URL "$ENV{ARROW_URIPARSER_URL}")
else()
- set(URIPARSER_SOURCE_URL
- "https://github.com/uriparser/uriparser/archive/${URIPARSER_VERSION}.tar.gz")
+ set(
+ URIPARSER_SOURCE_URL
+ "https://github.com/uriparser/uriparser/archive/uriparser-${URIPARSER_VERSION}.tar.gz"
+ )
endif()
if(DEFINED ENV{ARROW_ZLIB_URL})
@@ -560,10 +567,12 @@ macro(build_uriparser)
add_library(uriparser::uriparser STATIC IMPORTED)
# Work around https://gitlab.kitware.com/cmake/cmake/issues/15052
file(MAKE_DIRECTORY ${URIPARSER_INCLUDE_DIRS})
- set_target_properties(
- uriparser::uriparser
- PROPERTIES IMPORTED_LOCATION ${URIPARSER_STATIC_LIB} INTERFACE_INCLUDE_DIRECTORIES
- ${URIPARSER_INCLUDE_DIRS})
+ set_target_properties(uriparser::uriparser
+ PROPERTIES IMPORTED_LOCATION ${URIPARSER_STATIC_LIB}
+ INTERFACE_INCLUDE_DIRECTORIES ${URIPARSER_INCLUDE_DIRS}
+ # URI_STATIC_BUILD required on Windows
+ INTERFACE_COMPILE_DEFINITIONS
+ "URI_STATIC_BUILD;URI_NO_UNICODE")
add_dependencies(toolchain uriparser_ep)
add_dependencies(uriparser::uriparser uriparser_ep)
@@ -586,79 +595,27 @@ include_directories(SYSTEM ${URIPARSER_INCLUDE_DIRS})
macro(build_snappy)
message(STATUS "Building snappy from source")
set(SNAPPY_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/snappy_ep/src/snappy_ep-install")
- if(MSVC)
- set(SNAPPY_STATIC_LIB_NAME snappy_static)
- else()
- set(SNAPPY_STATIC_LIB_NAME snappy)
- endif()
+ set(SNAPPY_STATIC_LIB_NAME snappy)
set(
SNAPPY_STATIC_LIB
"${SNAPPY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
)
- if(${UPPERCASE_BUILD_TYPE} EQUAL "RELEASE")
- if(APPLE)
- set(SNAPPY_CXXFLAGS "CXXFLAGS='-DNDEBUG -O1'")
- else()
- set(SNAPPY_CXXFLAGS "CXXFLAGS='-DNDEBUG -O2'")
- endif()
- endif()
+ set(SNAPPY_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} -DSNAPPY_BUILD_TESTS=OFF
+ "-DCMAKE_INSTALL_PREFIX=${SNAPPY_PREFIX}")
- if(WIN32)
- set(SNAPPY_CMAKE_ARGS
- ${EP_COMMON_CMAKE_ARGS}
- -DCMAKE_AR=${CMAKE_AR}
- -DCMAKE_RANLIB=${CMAKE_RANLIB}
- "-DCMAKE_INSTALL_PREFIX=${SNAPPY_PREFIX}")
- set(SNAPPY_UPDATE_COMMAND
- ${CMAKE_COMMAND}
- -E
- copy
- ${CMAKE_SOURCE_DIR}/cmake_modules/SnappyCMakeLists.txt
- ./CMakeLists.txt
- &&
- ${CMAKE_COMMAND}
- -E
- copy
- ${CMAKE_SOURCE_DIR}/cmake_modules/SnappyConfig.h
- ./config.h)
- externalproject_add(snappy_ep
- UPDATE_COMMAND
- ${SNAPPY_UPDATE_COMMAND}
- ${EP_LOG_OPTIONS}
- BUILD_IN_SOURCE
- 1
- BUILD_COMMAND
- ${MAKE}
- INSTALL_DIR
- ${SNAPPY_PREFIX}
- URL
- ${SNAPPY_SOURCE_URL}
- CMAKE_ARGS
- ${SNAPPY_CMAKE_ARGS}
- BUILD_BYPRODUCTS
- "${SNAPPY_STATIC_LIB}")
- else()
- externalproject_add(snappy_ep
- CONFIGURE_COMMAND
- ./configure
- --with-pic
- "AR=${CMAKE_AR}"
- "RANLIB=${CMAKE_RANLIB}"
- "--prefix=${SNAPPY_PREFIX}"
- ${SNAPPY_CXXFLAGS}
- ${EP_LOG_OPTIONS}
- BUILD_IN_SOURCE
- 1
- BUILD_COMMAND
- ${MAKE}
- INSTALL_DIR
- ${SNAPPY_PREFIX}
- URL
- ${SNAPPY_SOURCE_URL}
- BUILD_BYPRODUCTS
- "${SNAPPY_STATIC_LIB}")
- endif()
+ externalproject_add(snappy_ep
+ ${EP_LOG_OPTIONS}
+ BUILD_IN_SOURCE
+ 1
+ INSTALL_DIR
+ ${SNAPPY_PREFIX}
+ URL
+ ${SNAPPY_SOURCE_URL}
+ CMAKE_ARGS
+ ${SNAPPY_CMAKE_ARGS}
+ BUILD_BYPRODUCTS
+ "${SNAPPY_STATIC_LIB}")
file(MAKE_DIRECTORY "${SNAPPY_PREFIX}/include")
@@ -709,22 +666,18 @@ macro(build_brotli)
message(STATUS "Building brotli from source")
set(BROTLI_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/brotli_ep/src/brotli_ep-install")
set(BROTLI_INCLUDE_DIR "${BROTLI_PREFIX}/include")
- if(MSVC)
- set(BROTLI_LIB_DIR bin)
- else()
- set(BROTLI_LIB_DIR lib)
- endif()
+ set(BROTLI_LIB_DIR lib)
set(
BROTLI_STATIC_LIBRARY_ENC
- "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX}"
)
set(
BROTLI_STATIC_LIBRARY_DEC
- "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX}"
)
set(
BROTLI_STATIC_LIBRARY_COMMON
- "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX}"
)
set(BROTLI_CMAKE_ARGS
${EP_COMMON_CMAKE_ARGS}
@@ -745,23 +698,6 @@ macro(build_brotli)
${BROTLI_CMAKE_ARGS}
STEP_TARGETS
headers_copy)
- if(MSVC)
- externalproject_get_property(brotli_ep SOURCE_DIR)
-
- externalproject_add_step(brotli_ep
- headers_copy
- COMMAND
- xcopy
- /E
- /I
- include
- ..\\..\\..\\brotli_ep\\src\\brotli_ep-install\\include
- /Y
- DEPENDEES
- build
- WORKING_DIRECTORY
- ${SOURCE_DIR})
- endif()
add_dependencies(toolchain brotli_ep)
file(MAKE_DIRECTORY "${BROTLI_INCLUDE_DIR}")
@@ -864,7 +800,6 @@ endif()
macro(build_gflags)
message(STATUS "Building gflags from source")
- set(GFLAGS_CMAKE_CXX_FLAGS ${EP_CXX_FLAGS})
set(GFLAGS_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gflags_ep-prefix/src/gflags_ep")
set(GFLAGS_INCLUDE_DIR "${GFLAGS_PREFIX}/include")
@@ -1204,34 +1139,36 @@ if(ARROW_JEMALLOC)
"${CMAKE_CURRENT_BINARY_DIR}/jemalloc_ep-prefix/src/jemalloc_ep/dist/")
set(JEMALLOC_STATIC_LIB
"${JEMALLOC_PREFIX}/lib/libjemalloc_pic${CMAKE_STATIC_LIBRARY_SUFFIX}")
- # We need to disable TLS or otherwise C++ exceptions won't work anymore.
- externalproject_add(
- jemalloc_ep
- URL
- ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/jemalloc/${JEMALLOC_VERSION}.tar.gz
- PATCH_COMMAND
- touch
- doc/jemalloc.3
- doc/jemalloc.html
- CONFIGURE_COMMAND
- ./autogen.sh
- "AR=${CMAKE_AR}"
- "CC=${CMAKE_C_COMPILER}"
- "--prefix=${JEMALLOC_PREFIX}"
- "--with-jemalloc-prefix=je_arrow_"
- "--with-private-namespace=je_arrow_private_"
- "--disable-tls"
- ${EP_LOG_OPTIONS}
- BUILD_IN_SOURCE
- 1
- BUILD_COMMAND
- ${MAKE}
- ${MAKE_BUILD_ARGS}
- BUILD_BYPRODUCTS
- "${JEMALLOC_STATIC_LIB}"
- INSTALL_COMMAND
- ${MAKE}
- install)
+ externalproject_add(jemalloc_ep
+ URL
+ ${JEMALLOC_SOURCE_URL}
+ PATCH_COMMAND
+ touch
+ doc/jemalloc.3
+ doc/jemalloc.html
+ CONFIGURE_COMMAND
+ ./autogen.sh
+ "AR=${CMAKE_AR}"
+ "CC=${CMAKE_C_COMPILER}"
+ "--prefix=${JEMALLOC_PREFIX}"
+ "--with-jemalloc-prefix=je_arrow_"
+ "--with-private-namespace=je_arrow_private_"
+ "--without-export"
+ # Don't override operator new()
+ "--disable-cxx" "--disable-libdl"
+ # See https://github.com/jemalloc/jemalloc/issues/1237
+ "--disable-initial-exec-tls"
+ ${EP_LOG_OPTIONS}
+ BUILD_IN_SOURCE
+ 1
+ BUILD_COMMAND
+ ${MAKE}
+ ${MAKE_BUILD_ARGS}
+ BUILD_BYPRODUCTS
+ "${JEMALLOC_STATIC_LIB}"
+ INSTALL_COMMAND
+ ${MAKE}
+ install)
# Don't use the include directory directly so that we can point to a path
# that is unique to our codebase.
@@ -1870,6 +1807,7 @@ if(ARROW_WITH_BZ2)
endif()
macro(build_cares)
+ message(STATUS "Building c-ares from source")
set(CARES_PREFIX "${THIRDPARTY_DIR}/cares_ep-install")
set(CARES_INCLUDE_DIR "${CARES_PREFIX}/include")
diff --git a/cpp/thirdparty/jemalloc/17c897976c60b0e6e4f4a365c751027244dada7a.tar.gz b/cpp/thirdparty/jemalloc/17c897976c60b0e6e4f4a365c751027244dada7a.tar.gz
deleted file mode 100644
index 29d9266..0000000
Binary files a/cpp/thirdparty/jemalloc/17c897976c60b0e6e4f4a365c751027244dada7a.tar.gz and /dev/null differ
diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt
index 737f062..5afd4f6 100644
--- a/cpp/thirdparty/versions.txt
+++ b/cpp/thirdparty/versions.txt
@@ -24,31 +24,30 @@
# format).
BOOST_VERSION=1.67.0
-BROTLI_VERSION=v0.6.0
+BROTLI_VERSION=v1.0.7
BZIP2_VERSION=1.0.6
CARES_VERSION=1.15.0
-DOUBLE_CONVERSION_VERSION=v3.1.1
+DOUBLE_CONVERSION_VERSION=v3.1.4
FLATBUFFERS_VERSION=v1.10.0
GBENCHMARK_VERSION=v1.4.1
GFLAGS_VERSION=v2.2.0
GLOG_VERSION=v0.3.5
-GRPC_VERSION=v1.18.0
+GRPC_VERSION=v1.20.0
GTEST_VERSION=1.8.1
-JEMALLOC_VERSION=17c897976c60b0e6e4f4a365c751027244dada7a
+JEMALLOC_VERSION=5.2.0
LZ4_VERSION=v1.8.3
-ORC_VERSION=1.5.4
-PROTOBUF_VERSION=v3.6.1
+ORC_VERSION=1.5.5
+PROTOBUF_VERSION=v3.7.1
# Because of https://github.com/Tencent/rapidjson/pull/1323, we require
# a pre-release version of RapidJSON to build with GCC 8 without
# warnings.
RAPIDJSON_VERSION=2bbd33b33217ff4a73434ebf10cdac41e2ef5e34
-RE2_VERSION=2018-10-01
-SNAPPY_VERSION=1.1.3
+RE2_VERSION=2019-04-01
+SNAPPY_VERSION=1.1.7
THRIFT_VERSION=0.12.0
-# CMake support appeared after latest release (0.9.1)
-URIPARSER_VERSION=63384be4fb8197264c55ff53a135110ecd5bd8c4
-ZLIB_VERSION=1.2.8
-ZSTD_VERSION=v1.3.7
+URIPARSER_VERSION=0.9.2
+ZLIB_VERSION=1.2.11
+ZSTD_VERSION=v1.4.0
# The first field is the name of the environment variable expected by cmake.
# This _must_ match what is defined. The second field is the name of the