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 <anto...@python.org> AuthorDate: Thu Apr 25 08:28:58 2019 -0500 ARROW-4702: [C++] Update dependency versions Author: Antoine Pitrou <anto...@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