hi Young, It looks like your Boost was compiled with a different version of gcc. If you're targeting gcc 4.8 you need to compile all the dependencies with the same compiler, otherwise you will have a conflict with the libstdc++ ABI. Redhat provides the devtoolset which helps with deploying on a variety of different Linux targets.
Let me know if this works! Thanks Wes On Thu, Jun 8, 2017 at 6:59 PM, Young Park <[email protected]> wrote: > Hi, > > I have been building Parquet-cpp using GCC 5.4 without any issues, but due > to another library dependency, I will have to use GCC 4.8 to compile > Parquet-CPP for compatibility reasons. > > I saw that the README states that GCC 4.8 or higher is supported, but as I > keep encountering errors that I have not encountered when using GCC5.4, I > was wondering if there are any specific configurations in CMakeLists that I > would need to change to get it to work. > > I have also attached the error log for your reference > > Scanning dependencies of target reader-writer > [ 90%] Building CXX object examples/CMakeFiles/reader- > writer.dir/reader-writer.cc.o > [ 92%] Linking CXX executable ../build/debug/reader-writer > ../build/debug/libparquet.a(metadata.cc.o): In function `bool > boost::regex_match<__gnu_cxx::__normal_iterator<char const*, > std::string>, std::allocator<boost::sub_match<__gnu_cx > x::__normal_iterator<char const*, std::string> > >, char, > boost::regex_traits<char, boost::cpp_regex_traits<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::string>, __g > nu_cxx::__normal_iterator<char const*, std::string>, > boost::match_results<__gnu_cxx::__normal_iterator<char const*, > std::string>, std::allocator<boost::sub_match<__gnu_cxx::__no > rmal_iterator<char const*, std::string> > > >&, boost::basic_regex<char, > boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, > boost::regex_constants::_match_flags > )': > /usr/include/boost/regex/v4/regex_match.hpp:50: undefined reference to > `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, > std::string>, std::allocator<boo > st::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, > boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match()' > ../build/debug/libparquet.a(metadata.cc.o): In function > `boost::re_detail::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> > > >::perl_matcher(__gnu_cxx::__normal_iterator<char const*, st > d::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, > boost::match_results<__gnu_cxx::__normal_iterator<char const*, > std::string>, std::allocator<boost::sub_match< > __gnu_cxx::__normal_iterator<char const*, std::string> > > >&, > boost::basic_regex<char, boost::regex_traits<char, > boost::cpp_regex_traits<char> > > const&, boost::regex_constant > s::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::string>)': > /usr/include/boost/regex/v4/perl_matcher.hpp:365: undefined reference to > `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, > std::string>, std::allocator<b > oost::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)' > collect2: error: ld returned 1 exit status > examples/CMakeFiles/reader-writer.dir/build.make:103: recipe for target > 'build/debug/reader-writer' failed > make[2]: *** [build/debug/reader-writer] Error 1 > CMakeFiles/Makefile2:628: recipe for target > 'examples/CMakeFiles/reader-writer.dir/all' > failed > make[1]: *** [examples/CMakeFiles/reader-writer.dir/all] Error 2 > Makefile:138: recipe for target 'all' failed > > Thanks in advance for your help! > Young >
