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