Yes, I get it on a clean build.

Regards,
Keith.

http://keith-chapman.com

On Wed, Feb 22, 2017 at 11:42 AM, Wes McKinney <wesmck...@gmail.com> wrote:

> Do you get these errors from a clean build (i.e. you've removed all
> the artifacts and CMake files from your prior build)? We are building
> in Travis CI with gcc/g++ 4.9 and have not been having any issues:
>
> https://github.com/apache/parquet-cpp/blob/master/ci/
> before_script_travis.sh#L20
>
> On Wed, Feb 22, 2017 at 2:28 PM, Keith Chapman <keithgchap...@gmail.com>
> wrote:
> > Hi Wes,
> >
> > Tried the patch and it does the trick, thank you for the prompt response.
> > Also I noticed another issue, not sure if you'd regard it as a bug or not
> > but I'll throw it out for your consideration. If I build the parquet
> > library with
> >
> > "cmake . -DCMAKE_BUILD_TYPE=release -DPARQUET_BUILD_TESTS=Off" everything
> > builds fine as expected, but if I build it with "cmake .
> > -DCMAKE_BUILD_TYPE=release -DCMAKE_CXX_COMPILER=g++-4.9
> > -DCMAKE_C_COMPILER=gcc-4.9 -DPARQUET_BUILD_TESTS=Off" I end up with a
> bunch
> > of linkage errors as follows,
> >
> > Linking CXX executable ../release/parquet_reader
> > ../release/libparquet.a(reader.cc.o): In function
> > `parquet::DictionaryDecoder<parquet::DataType<(parquet::Type::type)6>
> >>::SetDict(parquet::Decoder<parquet::DataType<(parquet::Type::type)6>
> >*)':
> > /home/keith/projects/bs/axstreamBigD/external_packages/parquetcpp/src/
> parquet/encoding-internal.h:382:
> > undefined reference to `arrow::Status::ToString() const'
> > ../release/libparquet.a(reader.cc.o): In function
> > `parquet::DictionaryDecoder<parquet::DataType<(parquet::Type::type)7>
> >>::SetDict(parquet::Decoder<parquet::DataType<(parquet::Type::type)7>
> >*)':
> > /home/keith/projects/bs/axstreamBigD/external_packages/parquetcpp/src/
> parquet/encoding-internal.h:402:
> > undefined reference to `arrow::Status::ToString() const'
> > ../release/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> >
> >>::match_match()':
> > /usr/local/include/boost/regex/v4/perl_matcher_non_recursive.hpp:973:
> > undefined reference to
> > `boost::match_results<__gnu_cxx::__normal_iterator<char const*,
> > std::string>,
> > std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char
> const*,
> > std::string> > >
> >>::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char
> > const*, std::string>,
> > std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char
> const*,
> > std::string> > > > const&)'
> > ../release/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> >
> >>::match_prefix()':
> > /usr/local/include/boost/regex/v4/perl_matcher_common.hpp:333: undefined
> > reference to `boost::match_results<__gnu_cxx::__normal_iterator<char
> > const*, std::string>,
> > std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char
> const*,
> > std::string> > >
> >>::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char
> > const*, std::string>,
> > std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char
> const*,
> > std::string> > > > const&)'
> > ../release/libparquet.a(metadata.cc.o): In function `perl_matcher':
> > .....
> > And a lot more
> >
> > Regards,
> > Keith.
> >
> > http://keith-chapman.com
> >
> > On Wed, Feb 22, 2017 at 10:57 AM, Wes McKinney <wesmck...@gmail.com>
> wrote:
> >
> >> You can try out this patch if you like:
> >>
> >> https://github.com/apache/parquet-cpp/pull/258
> >>
> >> This should be included in the next 1.0.0 RC
> >>
> >> On Wed, Feb 22, 2017 at 1:32 PM, Keith Chapman <keithgchap...@gmail.com
> >
> >> wrote:
> >> > Thanks Wes.
> >> >
> >> > Regards,
> >> > Keith.
> >> >
> >> > http://keith-chapman.com
> >> >
> >> > On Wed, Feb 22, 2017 at 10:30 AM, Wes McKinney <wesmck...@gmail.com>
> >> wrote:
> >> >>
> >> >> I'm able to reproduce the issue on Ubuntu 14.04
> >> >>
> >> >> Linking CXX shared library debug/libparquet.so
> >> >> /usr/bin/ld: /usr/lib/libsnappy.a(snappy.o): relocation R_X86_64_32S
> >> >> against `.rodata' can not be used when making a shared object;
> >> >> recompile with -fPIC
> >> >> /usr/lib/libsnappy.a: error adding symbols: Bad value
> >> >> collect2: error: ld returned 1 exit status
> >> >>
> >> >> Patch forthcoming
> >> >>
> >> >> On Wed, Feb 22, 2017 at 1:29 PM, Keith Chapman <
> keithgchap...@gmail.com
> >> >
> >> >> wrote:
> >> >> > Hi Wes,
> >> >> >
> >> >> > No I don't have SNAPPY_HOME set. Yes this seems similar to 885
> >> >> >
> >> >> > On Feb 22, 2017 10:25 AM, "Wes McKinney" <wesmck...@gmail.com>
> wrote:
> >> >> >>
> >> >> >> hi Keith,
> >> >> >>
> >> >> >> It's not caused by PARQUET-885, but it is the same type of
> problem.
> >> Do
> >> >> >> you have $SNAPPY_HOME set? If you compile your own thirdparty
> >> >> >> libraries, they need to be built with -fPIC to support static
> linking
> >> >> >> into a shared library. Otherwise it's easier to let parquet-cpp
> build
> >> >> >> its own thirdparty toolchain. Because some Linux distributions
> don't
> >> >> >> set -fPIC in their packages, we should make a similar change as
> >> >> >> PARQUET-885 for Snappy. Looking into it now...
> >> >> >>
> >> >> >> I'm also going to add a note about this to the README.
> >> >> >>
> >> >> >> - Wes
> >> >> >>
> >> >> >> On Wed, Feb 22, 2017 at 1:05 PM, Keith Chapman
> >> >> >> <keithgchap...@gmail.com>
> >> >> >> wrote:
> >> >> >> > Hi,
> >> >> >> >
> >> >> >> > I'm trying to build master and I get the following error, I have
> >> the
> >> >> >> > .so
> >> >> >> > versions of the files as seen below too, Is this somewhat
> relaped
> >> to
> >> >> >> > Parquet-885?
> >> >> >> >
> >> >> >> > ls /usr/lib/x86_64-linux-gnu/libsnappy.
> >> >> >> > libsnappy.a         libsnappy.so        libsnappy.so.1
> >> >> >> > libsnappy.so.1.3.0
> >> >> >> >
> >> >> >> > Error seen:
> >> >> >> >
> >> >> >> > /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libsnappy.a(snappy.o):
> >> >> >> > relocation
> >> >> >> > R_X86_64_32S against `.rodata' can not be used when making a
> shared
> >> >> >> > object;
> >> >> >> > recompile with -fPIC
> >> >> >> > /usr/lib/x86_64-linux-gnu/libsnappy.a: error adding symbols:
> Bad
> >> >> >> > value
> >> >> >> > collect2: error: ld returned 1 exit status
> >> >> >> > CMakeFiles/parquet_shared.dir/build.make:115: recipe for target
> >> >> >> > 'release/libparquet.so' failed
> >> >> >> > make[2]: *** [release/libparquet.so] Error 1
> >> >> >> > CMakeFiles/Makefile2:218: recipe for target
> >> >> >> > 'CMakeFiles/parquet_shared.dir/all' failed
> >> >> >> > make[1]: *** [CMakeFiles/parquet_shared.dir/all] Error 2
> >> >> >> > Makefile:138: recipe for target 'all' failed
> >> >> >> > make: *** [all] Error 2
> >> >> >> >
> >> >> >> > Regards,
> >> >> >> > Keith.
> >> >> >> >
> >> >> >> > http://keith-chapman.com
> >> >
> >> >
> >>
>

Reply via email to