Hello All,
Apologies in advance for the beginner question as I'm not versed in cmake.
I'm having difficulties getting Arrow dependencies satisfied with the C++
version (cmake -DARROW_FLIGHT=ON ..).
Does anyone have any tips or suggestions that enable them to compile arrow
with flight on?
I've compiled and installed grpc (and protobuf as a submodule under grpc).
I also believe I followed the directions under flight correctly:
export PROTOBUF_HOME=/home/t.bisson/git/grpc/third_party/protobuf
export LD_LIBRARY_PATH=$PROTOBUF_HOME:/usr/local/lib
cmake -DARROW_FLIGHT=ON ..
All the libraries are under /usr/local/lib, like libgpr.a.
Thanks,
Tim
The error I'm receiving is this:
Added static library dependency zstd_static:
/home/t.bisson/git/a/cpp/debug/zstd_ep-install/lib/libzstd.a
-- PROTOBUF_HOME: /home/t.bisson/git/grpc/third_party/protobuf
-- Found the Protobuf headers:
/home/t.bisson/git/grpc/third_party/protobuf/src
-- Found the Protobuf shared library: /usr/local/lib/libprotobuf.so
-- Found the Protobuf library: /usr/local/lib/libprotobuf.a
-- Found the Protoc shared library: /usr/local/lib/libprotoc.so
-- Found the Protoc library: /usr/local/lib/libprotoc.a
-- Found the Protoc executable: /usr/local/bin/protoc
Added static library dependency protobuf_static:
/usr/local/lib/libprotobuf.a
CMake Error at cmake_modules/ThirdpartyToolchain.cmake:1252 (get_property):
get_property could not find TARGET gRPC::gpr. Perhaps it has not yet been
created.
Call Stack (most recent call first):
CMakeLists.txt:523 (include)
CMake Error at cmake_modules/BuildUtils.cmake:86 (message):
No static or shared library provided for grpc_gpr
Call Stack (most recent call first):
cmake_modules/ThirdpartyToolchain.cmake:1253 (ADD_THIRDPARTY_LIB)
CMakeLists.txt:523 (include)
----------------------------------------------------------------------------------------
The line in ThirdpartToolchain.cmake is:
get_property(GPR_STATIC_LIB TARGET gRPC::gpr PROPERTY LOCATION)
ADD_THIRDPARTY_LIB(grpc_gpr
STATIC_LIB ${GPR_STATIC_LIB})
However, setting GRPC_HOME brought this set of errors:
Added static library dependency protobuf_static:
/usr/local/lib/libprotobuf.a
CMake Error at cmake_modules/ThirdpartyToolchain.cmake:1248 (find_package):
Could not find a package configuration file provided by "gRPC" with any of
the following names:
gRPCConfig.cmake
grpc-config.cmake
Add the installation prefix of "gRPC" to CMAKE_PREFIX_PATH or set
"gRPC_DIR" to a directory containing one of the above files. If "gRPC"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
CMakeLists.txt:523 (include)
Do you think I should continue down this path of trying to satisfy the
dependency?
----------
contents of /usr/local/lib:
$ ls /usr/local/lib
libaddress_sorting.a libgrpc.a
libgrpc_cronet.so.7 libgrpcpp_channelz.so.1
libgrpc++.so.1 libgrpc++_unsecure.so.1
libprotobuf-lite.la libprotoc.la
libaddress_sorting.so libgrpc++.a
libgrpc_cronet.so.7.0.0-dev libgrpcpp_channelz.so.1.18.0-dev
libgrpc++.so.1.18.0-dev libgrpc++_unsecure.so.1.18.0-dev
libprotobuf-lite.so libprotoc.so
libaddress_sorting.so.7 libgrpc_cronet.a
libgrpc++_error_details.a libgrpc++_reflection.a
libgrpc.so.7 libgrpc_unsecure.so.7
libprotobuf-lite.so.17 libprotoc.so.17
libaddress_sorting.so.7.0.0-dev libgrpc++_cronet.a
libgrpc++_error_details.so libgrpc++_reflection.so
libgrpc.so.7.0.0-dev libgrpc_unsecure.so.7.0.0-dev
libprotobuf-lite.so.17.0.0 libprotoc.so.17.0.0
libgpr.a libgrpc_cronet.so
libgrpc++_error_details.so.1 libgrpc++_reflection.so.1
libgrpc_unsecure.a liblogdevice.so libprotobuf.so
pkgconfig
libgpr.so libgrpc++_cronet.so
libgrpc++_error_details.so.1.18.0-dev libgrpc++_reflection.so.1.18.0-dev
libgrpc++_unsecure.a libprotobuf.a
libprotobuf.so.17 python2.7
libgpr.so.7 libgrpc++_cronet.so.1
libgrpcpp_channelz.a libgrpc.so
libgrpc_unsecure.so libprotobuf.la
libprotobuf.so.17.0.0 python3.6
libgpr.so.7.0.0-dev libgrpc++_cronet.so.1.18.0-dev
libgrpcpp_channelz.so libgrpc++.so
libgrpc++_unsecure.so libprotobuf-lite.a libprotoc.a
Thanks,
Tim