See note about this in https://github.com/apache/arrow/blob/master/python/doc/source/development.rst#known-issues
On Tue, Jun 26, 2018 at 7:10 AM, Wes McKinney <wesmck...@gmail.com> wrote: > Ah, ok, I think I know the issue then. You need to pass > -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' when building all your > libraries if you use the conda-forge libraries, since they are built > using the old gcc ABI > > On Tue, Jun 26, 2018 at 5:11 AM, Praveen Kumar <prav...@dremio.com> wrote: >> Hi Wes, >> >> Thanks for the suggestion. I purged the system boost libs and removed LLVM >> (suspecting it might be bringing in some static dependencies) too. Then >> recompiled Arrow and tried to link Gandiva again but no avail. >> >> It looks similar to the one seen here, >> https://issues.apache.org/jira/browse/ARROW-2318. >> >> Will circle back if i find the root cause. >> >> Thx. >> >> On Tue, Jun 26, 2018 at 2:27 AM, Wes McKinney <wesmck...@gmail.com> wrote: >> >>> hi Praveen, >>> >>> Are /usr/include or /usr/local/include getting added to your build >>> paths (this could happen if you have LLVM or some other library in >>> your system paths)? >>> >>> Unfortunately, when you're using conda libraries or an external >>> toolchain at all, you have to be really strict about toolchain >>> isolation. So here I think what's happening is that even you are >>> setting $BOOST_ROOT to your external toolchain location, but the C++ >>> compiler is picking up the other Boost from your system path. You can >>> test this hypothesis by purging all your system Boost libraries using >>> apt-get purge >>> >>> - Wes >>> >>> On Mon, Jun 25, 2018 at 1:13 PM, Praveen Kumar <prav...@dremio.com> wrote: >>> > Tried that did not help. >>> > >>> > I also tried to link in the boost libraries myself since it was not clear >>> > if arrow was including the transitive dependencies from the build script. >>> > That does not help as well. >>> > >>> > On Mon, Jun 25, 2018 at 7:55 PM, Dimitri Vorona < >>> > alen...@googlemail.com.invalid> wrote: >>> > >>> >> Hi, >>> >> >>> >> I'd this a similar issue some time ago, and the solution was building >>> after >>> >> a clean checkout, which I interpreted as some kind of caching issue. >>> >> >>> >> Generally, I've found that starting with a clean checkout and following >>> the >>> >> steps from [0] never failed for me. >>> >> >>> >> Hope that helps! >>> >> >>> >> Cheers, >>> >> Dimitri. >>> >> >>> >> [0]: https://arrow.apache.org/docs/python/development.html >>> >> >>> >> On Mon, Jun 25, 2018 at 4:17 PM Praveen Kumar <prav...@dremio.com> >>> wrote: >>> >> >>> >> > Hi Folks, >>> >> > >>> >> > I am a newbie to cpp build/packaging. I need some help on building >>> >> against >>> >> > the arrow static library. >>> >> > >>> >> > I tried the following >>> >> > >>> >> > 1. Using both arrow and boost from conda (latest versions 0.9 and >>> 1.67). >>> >> > 2. Building arrow from source and boost from conda. >>> >> > 3. Built both from source. >>> >> > >>> >> > But i am getting this error - with all combinations >>> >> > >>> >> > 1. boost/regex/v4/regex_match.hpp:50: undefined reference to >>> >> > `boost::re_detail_106700::perl_matcher<__gnu_cxx::__ >>> normal_iterator<char >>> >> > const*, std::string>, >>> >> > std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char >>> >> const*, >>> >> > std::string> > >, boost::regex_traits<char, >>> >> boost::cpp_regex_traits<char> > >>> >> > >::match()' >>> >> > >>> >> > 2. boost/regex/v4/basic_regex.hpp:381: undefined reference to >>> >> > `boost::basic_regex<char, boost::regex_traits<char, >>> >> > boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, >>> >> > unsigned int)' >>> >> > >>> >> > 3. boost/regex/v4/perl_matcher.hpp:386: undefined reference to >>> >> > `boost::re_detail_106700::perl_matcher<__gnu_cxx::__ >>> normal_iterator<char >>> >> > const*, std::string>, >>> >> > std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char >>> >> const*, >>> >> > std::string> > >, boost::regex_traits<char, >>> >> boost::cpp_regex_traits<char> > >>> >> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, >>> >> > boost::cpp_regex_traits<char> > > const&, >>> >> > boost::regex_constants::_match_flags)' >>> >> > >>> >> > I am including the boost headers from same path that arrow was built >>> >> with. >>> >> > Surprisingly it works in travis(ubuntu trusty) and in mac but fails >>> on a >>> >> > stand alone Ubuntu machine. >>> >> > >>> >> > Googling around some of the root causes seem to be building and >>> linking >>> >> > with different versions of boost/compiler differences. Both do not >>> apply >>> >> > here. >>> >> > >>> >> > Has anyone faced this before? >>> >> > >>> >> > Thx. >>> >> > >>> >> >>>