On Fri, Feb 8, 2019 at 2:08 PM Suvayu Ali <[email protected]> wrote: > > Hello Todd, > > On Fri, Feb 08, 2019 at 11:41:05AM -0500, Todd Rme wrote: > > On 2019/02/02 10:00:37, Suvayu Ali <[email protected]> wrote: > > > > > 1. Fedora doesn't allow including external dependencies. In my > > > experience> > > > building arrow on Fedora, the way external deps like Protobuf, Thrift, > > > RE2,> > > > etc are handled is unlikely to pass package review. There maybe > > > exceptions,> > > > but it has to be well justified (e.g. ROOT).> > > > > openSUSE has a similar policy, with an additional caveat: openSUSE > > usually doesn't allow static libraries. So even if system libraries > > were supported, we wouldn't be able to use them because arrow requires > > them to be statically linked. So supported dynamically linked > > libraries would be needed. > > I think on Fedora that is also true in general. But I believe there are > static builds available for certain libraries (e.g. llvm, boost). That said, > are you sure static linking is required by arrow? When I look at the output > of ldd run against the arrow libraries, I see the dynamic system libraries I > did manage to link against (boost and zlib). I also see the linking between > the different arrow libraries like, libgandiva and libplasma linking to > libarrow.
There are a few that allow shared libraries, but most explicitly link statically. In master, from what I can tell these are unconditionally static if used (based on cpp/cmake_modules/ThirdpartyToolchain.cmake): brotli bz2 double-conversion gbenchmark gflags glog grpc lz4 orc snappy thrift zstd
