Thanks Wes, Yea, we might be trying to play with the code a bit too early.
I made a little more progress, but became stuck during make. I might be at the same place as kszucs: https://github.com/apache/arrow/pull/2547#issuecomment-425744800 This could be completely incorrect, but I made it past cmake by hard-coding environment variables (such as GPR_STATIC_LIB) in ThirdPartyToolChain.cmake because LOCATION wasn't defined. - get_property(GPR_STATIC_LIB TARGET gRPC::gpr PROPERTY LOCATION) + set(GPR_STATIC_LIB "/usr/local/lib/libgpr.a") However, now I fail on protobuf dependency: [ 95%] Built target arrow-stream-to-file make -f src/arrow/flight/CMakeFiles/arrow_flight_objlib.dir/build.make src/arrow/flight/CMakeFiles/arrow_flight_objlib.dir/depend make[2]: Entering directory '/home/t.bisson/git/arrow/cpp/debug' make[2]: *** No rule to make target '../src/arrow/flight/protobuf', needed by 'src/arrow/flight/Flight.pb.cc'. Stop. make[2]: Leaving directory '/home/t.bisson/git/arrow/cpp/debug' CMakeFiles/Makefile2:1450: recipe for target 'src/arrow/flight/CMakeFiles/arrow_flight_objlib.dir/all' failed make[1]: *** [src/arrow/flight/CMakeFiles/arrow_flight_objlib.dir/all] Error 2 make[1]: Leaving directory '/home/t.bisson/git/arrow/cpp/debug' Makefile:143: recipe for target 'all' failed Google indirectly suggests header/c code generation might not be working. However, I was able to generate the the files manually into their correct directories. Any additional suggestions are appreciated. Thanks, Tim On Wed, Jan 2, 2019 at 7:28 PM Wes McKinney <wesmck...@gmail.com> wrote: > Hi Tim, > > This part of the codebase is a good ways from production-ready -- we aren't > running the tests in CI for example. I put in enough hacks to be able to > build using a local gRPC install that used CMake. Almost certainly a number > of changes to FindGRPC.cmake will need to be made to get things working for > more general installs of the libraries. > > The gRPC build system is a bit of a pain because it may install all of its > third-party dependencies, possibly causing conflicts with other parts of > the Arrow build system. > > The Flight RPC project is definitely a priority for 2019 so would be glad > to have you involved, and we can try to help resolve the immediate build > issues. > > Wes > > On Wed, Jan 2, 2019, 8:01 PM Tim Bisson <biss...@gmail.com wrote: > > > 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 > > >