[ 
https://issues.apache.org/jira/browse/ARROW-3596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16749153#comment-16749153
 ] 

Wes McKinney commented on ARROW-3596:
-------------------------------------

To share my experience trying to get things to build with the conda-forge gcc7 
compiler toolchain. Very painful. I had to override a bunch of environment 
variables to get it to use the proper toolchain executables instead of using 
the system compilers

{code}
LD=$CXX \
LDXX=$CXX \
HOST_CC=$CC \
HOST_CXX=$CXX \
STRIP='echo' \
AR='ar rcs' \
prefix=$PREFIX make -j8 install
{code}

For some reason the build system is stripping all the shared libraries, and so 
I couldn't get them to link with the Flight C++ executables, the errors looked 
like this:

{code}
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:327: error: undefined 
reference to 'grpc::InsecureServerCredentials()'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:327: error: undefined 
reference to 
'grpc::ServerBuilder::AddListeningPort(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, 
std::shared_ptr<grpc::ServerCredentials>, int*)'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:328: error: undefined 
reference to 'grpc::ServerBuilder::RegisterService(grpc::Service*)'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:330: error: undefined 
reference to 'grpc::ServerBuilder::BuildAndStart()'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:326: error: undefined 
reference to 'grpc::ServerBuilder::~ServerBuilder()'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:326: error: undefined 
reference to 'grpc::ServerBuilder::~ServerBuilder()'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/slice.h:40: error: 
undefined reference to 'grpc::g_core_codegen_interface'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/slice.h:40: error: 
undefined reference to 'grpc::g_core_codegen_interface'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/slice.h:53: error: 
undefined reference to 'grpc::g_core_codegen_interface'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/slice.h:53: error: 
undefined reference to 'grpc::g_core_codegen_interface'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:161: error: undefined 
reference to 'grpc::Status::OK'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:242: error: undefined 
reference to 'grpc::Status::OK'
/home/wesm/code/arrow/cpp/src/arrow/flight/server.cc:268: error: undefined 
reference to 'grpc::Status::OK'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/grpc_library.h:42: error: 
undefined reference to 'grpc::g_glip'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/grpc_library.h:45: error: 
undefined reference to 'grpc::g_glip'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/grpc_library.h:45: error: 
undefined reference to 'grpc::g_glip'
/home/wesm/cpp-toolchain/include/grpcpp/impl/codegen/grpc_library.h:51: error: 
undefined reference to 'grpc::g_glip'
collect2: error: ld returned 1 exit status
{code}

> [Packaging] Build gRPC in conda-forge
> -------------------------------------
>
>                 Key: ARROW-3596
>                 URL: https://issues.apache.org/jira/browse/ARROW-3596
>             Project: Apache Arrow
>          Issue Type: Sub-task
>          Components: C++
>            Reporter: Wes McKinney
>            Priority: Major
>             Fix For: 0.13.0
>
>
> This may be a bit annoying as grpc's CMake files want to also install its 
> third party dependencies. [~msarahan] pointed me to a version for 
> AnacondaRecipes where there was an effort to "unvendor" these components
> grpc depends on at least
> * protobuf
> * zlib
> * either boringssl or openssl
> * cares
> * gflags
> It looks like the grpc developers want to take on Abseil as a dependency 
> eventually, but it is not required yet



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to