OK. I understand the problem now. You need to add an imported static
library for libarrow_bundled_dependencies.a and include that when
linking.

On Mon, Aug 17, 2020 at 12:47 PM Radu Teodorescu
<radukay...@yahoo.com.invalid> wrote:
>
> ok - here is a simple illustration of my challenges building with arrow 
> flight: https://github.com/raduteo/hello_flight 
> <https://github.com/raduteo/hello_flight>
>
> The above actually works fine on mac but fails on linux with a number of 
> dependency failures (at first in ares and absl but they keep on evolving to 
> other sub dependencies as they get resolved).
> Also it’s worth pointing that a vanilla arrow project (a project that only 
> needs arrow library) works fine using this model.
>
> Absent some obvious fix (I am certainly no CMake guru), my intention is to 
> keep on adding the dependecy path for all the libraries that are needed, but 
> apart from the ugliness of it all that solution makes static assumption about 
> what is available locally and what is build on the fly by arrow hence it’s 
> not very portable.
>
> My theory (and again, given my CMake expertise I may be wrong), that we are 
> hitting an intrinsic ExternalProject limitation, in that there is no good way 
> to pass dependency information (or any cmake variable) to the outer scope. I 
> find add_subdirectory approach would be more versatile, but I am open to 
> other community member’s suggestions.
>
>
>
>
> > On Aug 14, 2020, at 8:59 AM, Wes McKinney <wesmck...@gmail.com> wrote:
> >
> > Using ExternalProject should work as well (again, if it doesn't, it's a bug
> > and should be reported). We should augment our examples to include an
> > example use with ExternalProject
> >
> > https://issues.apache.org/jira/browse/ARROW-9740
> >
> > On Thu, Aug 13, 2020 at 9:44 PM Radu Teodorescu
> > <radukay...@yahoo.com.invalid> wrote:
> >
> >> Hi Wes,
> >>
> >> I will certainly give that a shot and provide feedback - my typical setup
> >> with arrow has so far used ExternalProject and I tend to prefer this for
> >> development vs the install path since it makes it easier track problems,
> >> step into the code, run arrow examples and tests when I need a quick usage
> >> sample etc.
> >>
> >> So if possible I would like to stick to that or one of the other cmake
> >> options for including the arrow source into a project
> >>
> >>
> >>
> >>> On Aug 13, 2020, at 7:27 PM, Wes McKinney <wesmck...@gmail.com> wrote:
> >>
> >>>
> >>
> >>> hi Radu,
> >>
> >>>
> >>
> >>> If you use the approach in
> >>
> >>>
> >>
> >>> https://github.com/apache/arrow/blob/master/cpp/examples/minimal_build
> >>
> >>>
> >>
> >>> It should be sufficient to use
> >>
> >>>
> >>
> >>> find_package(ArrowFlight REQUIRED)
> >>
> >>>
> >>
> >>> and then use the imported arrow_flight_static target (or
> >>
> >>> arrow_flight_shared, depending on your needs) when linking. If that
> >>
> >>> does not work, it's a bug and you should open a JIRA issue. We just
> >>
> >>> worked a bunch on this for 1.0.0 and after so it's important that this
> >>
> >>> work consistently.
> >>
> >>>
> >>
> >>>> On Thu, Aug 13, 2020 at 4:20 PM Radu Teodorescu
> >>
> >>>> <radukay...@yahoo.com.invalid> wrote:
> >>
> >>>>
> >>
> >>>> I can produce something isolated shortly  - but really the questions is
> >> how can one build a hello world type flight server that does something like
> >>
> >>>> {
> >>
> >>>> FlightServerBase server;
> >>
> >>>> server.Serve();
> >>
> >>>> //Yes I know this would fail at runtime but I just need to get there
> >> first
> >>
> >>>> }
> >>
> >>>>
> >>
> >>>> with a fully self contained CMake project (i.e. that doesn’t depend on
> >> having arrow or it’s dependencies preinstalled).
> >>
> >>>>
> >>
> >>>> If you have something like that that works, I can take it from there
> >>
> >>>> Thank you
> >>
> >>>> Radu
> >>
> >>>>
> >>
> >>>>>> On Aug 13, 2020, at 4:42 PM, Sutou Kouhei <k...@clear-code.com> wrote:
> >>
> >>>>>
> >>
> >>>>> Hi,
> >>
> >>>>>
> >>
> >>>>> Could you share a minimal CMake and C++ file set to
> >>
> >>>>> reproduce your case?
> >>
> >>>>>
> >>
> >>>>>
> >>
> >>>>> Thanks,
> >>
> >>>>> --
> >>
> >>>>> kou
> >>
> >>>>>
> >>
> >>>>> In <f4a132f3-e8d5-468b-924d-93fe165d2...@yahoo.com>
> >>
> >>>>> "Building an executable with arrow flight (C++)" on Thu, 13 Aug 2020
> >> 12:06:49 -0400,
> >>
> >>>>> Radu Teodorescu <radukay...@yahoo.com.INVALID> wrote:
> >>
> >>>>>
> >>
> >>>>>> Hello,
> >>
> >>>>>> I am trying to build a server that uses arrow flight and getting into
> >> a bit of a rabbit hole with dependency inclusion.
> >>
> >>>>>> I have arrow included as an external project and so far everything
> >> has worked really smoothly (I have executables building with arrow, parquet
> >> arrow and I also have arrow flight libraty building fine).
> >>
> >>>>>> When I try to build an executable that user flight lib, I am getting
> >> a never-ending stream of missing dependencies (mostly grpc related).
> >>
> >>>>>> The flight-test-server is building without any issues but I cannot
> >> see a clean way to point my cmake to the same list of dependencies that are
> >> built internally by arrow CMake stack (without duplicating a lot of the
> >> existing arrow CMake and/or manually defining all the dependencies)
> >>
> >>>>>>
> >>
> >>>>>> I realize this is mostly a gRPC and CMake question, but I am hoping
> >> someone had walked this road before or there is some public domain project
> >> I can use as an integration reference.
> >>
> >>>>>> Thank you
> >>
> >>>>>> Radu
> >>
> >>>>
> >>
> >>
> >>
> >>
>

Reply via email to