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/03/28 15:43:49 UTC

[arrow] branch master updated: ARROW-5050: [C++] Specify dependencies of grpc_ep

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 a49d177  ARROW-5050: [C++] Specify dependencies of grpc_ep
a49d177 is described below

commit a49d1779b89a11c3590de4685047a9566485352d
Author: Kenta Murata <mr...@mrkn.jp>
AuthorDate: Thu Mar 28 10:43:41 2019 -0500

    ARROW-5050: [C++] Specify dependencies of grpc_ep
    
    I encounter the following build error when I built the tarball of 0.13.0 RC.
    
    ```
    [38/597] Performing configure step for 'grpc_ep'
    FAILED: grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure
    cd /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-build && /opt/brew/Cellar/cmake/3.13.3/bin/cmake -P /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-RELEASE.cmake && /opt/brew/Cellar/c
    make/3.13.3/bin/cmake -E touch /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure
    CMake Error at /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-RELEASE.cmake:16 (message):
      Command failed: 1
    
       '/opt/brew/Cellar/cmake/3.13.3/bin/cmake' '-DCMAKE_BUILD_TYPE=RELEASE' '-DCMAKE_PREFIX_PATH=';/opt/brew;/Users/mrkn/src/github.com/apache/arrow/cpp/build/gflags_ep-prefix/src/gflags_ep;/Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/thirdparty/cares_ep-install;'' '-DgRPC
    _CARES_PROVIDER=package' '-DgRPC_GFLAGS_PROVIDER=package' '-DgRPC_PROTOBUF_PROVIDER=package' '-DgRPC_SSL_PROVIDER=package' '-DgRPC_ZLIB_PROVIDER=package' '-DCMAKE_CXX_FLAGS= -Qunused-arguments -fcolor-diagnostics -O3 -DNDEBUG -O3 -DNDEBUG -fPIC' '-DCMAKE_C_FLAGS= -Qunused-arguments -O3 -DNDEBUG -O3 -DNDEBUG -fPIC' '-DCMAKE_INSTALL_PREFIX=/Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/thirdparty/grpc_ep-install' '-DCMAKE_INSTALL_LIBDIR=lib' '-DProtobuf_PROTOC_LIBRARY=/opt/brew/lib/libpr [...]
    ```
    
    grpc_ep's build log is given below:
    
    ```
    $ cat /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-*.log
    CMake Error at cmake/cares.cmake:38 (find_package):
      Could not find a package configuration file provided by "c-ares" with any
      of the following names:
    
        c-aresConfig.cmake
        c-ares-config.cmake
    
      Add the installation prefix of "c-ares" to CMAKE_PREFIX_PATH or set
      "c-ares_DIR" to a directory containing one of the above files.  If "c-ares"
      provides a separate development package or SDK, be sure it has been
      installed.
    Call Stack (most recent call first):
      CMakeLists.txt:139 (include)
    
    (snip)
    ```
    
    This build log says that grpc_ep couldn't find cares_ep.
    In this case, grpc_ep was built before cares_ep.
    
    This pull-request could fix this dependency error on my environment.
    
    Author: Kenta Murata <mr...@mrkn.jp>
    
    Closes #4064 from mrkn/cpp_grpc_depends_on_cares and squashes the following commits:
    
    1a37054a7 <Kenta Murata> Specify dependencies of grpc_ep
---
 cpp/cmake_modules/ThirdpartyToolchain.cmake | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index bdb122b..80caff5 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2025,7 +2025,9 @@ macro(build_grpc)
                       ${GRPC_CPP_PLUGIN}
                       CMAKE_ARGS
                       ${GRPC_CMAKE_ARGS}
-                      ${EP_LOG_OPTIONS})
+                      ${EP_LOG_OPTIONS}
+                      DEPENDS
+                      ${grpc_dependencies})
 
   add_library(gRPC::gpr STATIC IMPORTED)
   set_target_properties(gRPC::gpr