From c706284b911d766c2cd8b74b99b15c22dc4fca64 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Wed, 29 Mar 2017 20:39:36 -0400 Subject: [PATCH 1/2] Target arrow_jemalloc_objlib with EP dependency to avoid race condition in parallel builds Change-Id: Ieda1dd130055e0c04e209f652cfbd4fedcdbaae8 --- cpp/CMakeLists.txt | 5 ----- cpp/src/arrow/jemalloc/CMakeLists.txt | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index e4c18ca86e4..6198d923813 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -645,11 +645,6 @@ if (ARROW_JEMALLOC) ADD_THIRDPARTY_LIB(jemalloc STATIC_LIB ${JEMALLOC_STATIC_LIB} SHARED_LIB ${JEMALLOC_SHARED_LIB}) - - if (JEMALLOC_VENDORED) - add_dependencies(jemalloc_shared jemalloc_ep) - add_dependencies(jemalloc_static jemalloc_ep) - endif() endif() ## Google PerfTools diff --git a/cpp/src/arrow/jemalloc/CMakeLists.txt b/cpp/src/arrow/jemalloc/CMakeLists.txt index b8e6e231a3d..c3c7b579fb8 100644 --- a/cpp/src/arrow/jemalloc/CMakeLists.txt +++ b/cpp/src/arrow/jemalloc/CMakeLists.txt @@ -93,6 +93,10 @@ ADD_ARROW_LIB(arrow_jemalloc STATIC_PRIVATE_LINK_LIBS ${ARROW_JEMALLOC_STATIC_PRIVATE_LINK_LIBS} ) +if(JEMALLOC_VENDORED) + add_dependencies(arrow_jemalloc_objlib jemalloc_ep) +endif() + ADD_ARROW_TEST(jemalloc-memory_pool-test) ARROW_TEST_LINK_LIBRARIES(jemalloc-memory_pool-test ${ARROW_JEMALLOC_TEST_LINK_LIBS}) From 0096c955d8cc7fdff1e4d3e9485c86bb6278f570 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Thu, 30 Mar 2017 10:14:52 -0400 Subject: [PATCH 2/2] Add INSTALL_COMMAND Change-Id: I051b05194cf9387b77e0936bcf73559e521367d3 --- cpp/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 6198d923813..4048417a987 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -629,13 +629,15 @@ if (ARROW_JEMALLOC) CONFIGURE_COMMAND ./configure "--prefix=${JEMALLOC_PREFIX}" "--with-jemalloc-prefix=" BUILD_IN_SOURCE 1 BUILD_COMMAND ${MAKE} + INSTALL_COMMAND ${MAKE} install BUILD_BYPRODUCTS "${JEMALLOC_STATIC_LIB}" "${JEMALLOC_SHARED_LIB}") else() ExternalProject_Add(jemalloc_ep URL https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2 CONFIGURE_COMMAND ./configure "--prefix=${JEMALLOC_PREFIX}" "--with-jemalloc-prefix=" BUILD_IN_SOURCE 1 - BUILD_COMMAND ${MAKE}) + BUILD_COMMAND ${MAKE} + INSTALL_COMMAND ${MAKE} install) endif() else() set(JEMALLOC_VENDORED 0)