That's great. Any feedback (whether feature needs for your use cases /
security / configurability) would be useful as more development time
in spent on Flight this year

On Mon, Jan 7, 2019 at 6:24 PM Tim Bisson <biss...@gmail.com> wrote:
>
> I was finally able to build and run the flight-test-server/flight-test
> binaries by hacking the arrow/flight/CMakeLists.txt to manually satisfy the
> dependencies.
>
> I think part of my issue was trying to use a separate local grpc
> installation to satisfy dependencies.
>
> I can now work through the test code to understand flight internals and
> also work backward to get to an automated arrow flight build state.
>
> Thanks,
> Tim
>
> On Mon, Jan 7, 2019 at 9:09 AM Wes McKinney <wesmck...@gmail.com> wrote:
>
> > Did you build gRPC using CMake or autotools (I was using CMake, so
> > things are specialized to that for the moment)? As I said the current
> > state of the toolchain configuration for gRPC was temporary to enable
> > me to develop the initial unit tests and benchmarks. It'll be some
> > time before this is production ready, so there's some
> > blood/sweat/tears required here. There will hopefully be some progress
> > on this in the first half of this year so keep an eye out.
> >
> > On Fri, Jan 4, 2019 at 12:26 PM Tim Bisson <biss...@gmail.com> wrote:
> > >
> > > 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
> > > > >
> > > >
> >

Reply via email to