You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by Praveen Kumar <pr...@dremio.com> on 2018/06/25 14:17:44 UTC

Building against arrow static library

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.

Re: Building against arrow static library

Posted by Wes McKinney <we...@gmail.com>.
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 <we...@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 <pr...@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 <we...@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 <pr...@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 <
>>> > alendit@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 <pr...@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.
>>> >> >
>>> >>
>>>

Re: Building against arrow static library

Posted by Wes McKinney <we...@gmail.com>.
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 <pr...@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 <we...@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 <pr...@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 <
>> > alendit@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 <pr...@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.
>> >> >
>> >>
>>

Re: Building against arrow static library

Posted by Praveen Kumar <pr...@dremio.com>.
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 <we...@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 <pr...@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 <
> > alendit@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 <pr...@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.
> >> >
> >>
>

Re: Building against arrow static library

Posted by Wes McKinney <we...@gmail.com>.
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 <pr...@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 <
> alendit@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 <pr...@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.
>> >
>>

Re: Building against arrow static library

Posted by Praveen Kumar <pr...@dremio.com>.
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 <
alendit@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 <pr...@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.
> >
>

Re: Building against arrow static library

Posted by Dimitri Vorona <al...@googlemail.com.INVALID>.
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 <pr...@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.
>