[
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)