You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by James Pirz <ja...@gmail.com> on 2017/01/11 00:42:38 UTC

parquet-cpp problem with Thrift library

Hi,

I am trying to build "parquet-cpp" project so that I can run the examples
and find out how I can read/write parquet files. On a fresh Ubuntu 16.04
instance (64-bit) I am running 'cmake' and 'make' commands from the parent
directory to build parquet-cpp project. I have already installed Thrift
successfully. However, the build keeps failing with:

[ 84%] Linking CXX shared library build/debug/libparquet.so
/usr/bin/ld: /usr/local/lib/libthrift.a(TBufferTransports.o): relocation
R_X86_64_32 against `.rodata' can not be used when making a shared object;
recompile with -fPIC
/usr/local/lib/libthrift.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
'build/debug/libparquet.so' failed
make[2]: *** [build/debug/libparquet.so] Error 1
CMakeFiles/Makefile2:182: 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

I have tried different versions of Thrift (0.7.0 and 0.9.1 and 0.9.3) and
they all show the same error.
I have been trying to find proper compile command in the cmake/make files
so I can pass -fPIC flag to compile Thrift as a shared library but I could
not. I am just wondering if there is any specific flag or environment
setting that I need to use to fix this issue.

Any help or suggestion would be really appreciated.

Thanks.
James

Re: parquet-cpp problem with Thrift library

Posted by James Pirz <ja...@gmail.com>.
Dear Wes,

Thanks for your reply and help. As I do not have any reason to stick to
Thrift 0.9.3 (I am just installing Thrift to be able to build parquet-cpp),
I switched to Thrift 0.9.1 and exporting CXXFLAGS=-fPIC and passing it
explicitly as an arg to 'configure' in Thrift fixed my problem and I could
build parquet-cpp successfully.

I appreciate your prompt attention and help to unblock me.

Best.
James

On Wed, Jan 11, 2017 at 7:16 PM, Wes McKinney <we...@gmail.com> wrote:

> hi James,
>
> The "-fPIC" is still not being passed correctly. The build procedure
> in https://github.com/apache/parquet-cpp/blob/master/cmake_
> modules/ThirdpartyToolchain.cmake
> has only been tested on Thrift 0.9.1 -- Apache Thrift made some
> changes to their build system between 0.9.1 and 0.9.3, so I would
> recommend using CMake on the latest.
>
> If you are using Thrift 0.9.3, can you use this incantation
>
> mkdir -p $HOME/local
>
> export CXXFLAGS="-fPIC"
> export THRIFT_HOME=$HOME/local
> cmake \
> -DCMAKE_INSTALL_PREFIX=$THRIFT_HOME \
> -DBUILD_PYTHON=off \
> -DBUILD_JAVA=off \
> -DBUILD_C_GLIB=off \
> .
>
> When you call make, do
>
> make VERBOSE=1
>
> and look at the invocations of gcc to ensure that -fPIC is being
> passed in compilation.
>
> This installs Thrift in $HOME/local. To rule out contamination in your
> default system path, set this $THRIFT_HOME environment variable before
> using parquet-cpp's CMake. If you can get that working, but not with
> /usr/local, then there must be some stale files, perhaps from the
> Ubuntu package manager.
>
> - Wes
>
>
> On Wed, Jan 11, 2017 at 5:29 PM, James Pirz <ja...@gmail.com> wrote:
> > Dear Wes,
> >
> > Thanks a lot for your prompt help. I tried your suggestion, however I
> still
> > can not build parquet-cpp successfully. Specifically what I am doing is:
> >
> > On a fresh Ubuntu instance, I download Thrift 0.9.3 and configure it as:
> >
> > ./configure "CXXFlags=-fPIC" --without-tests --disable-gen-erl
> > --disable-gen-hs --without-ruby --without-haskell --without-erlang
> >
> > and I run 'make' and 'make install'. I can see that Thrift gets installed
> > successfully with the following libraries added:
> >
> > ls -la /usr/local/lib
> >
> > -rw-r--r--  1 root root    234166 libthrift-0.9.3.jar
> > -rw-r--r--  1 root root    551558 libthrift-0.9.3-javadoc.jar
> > -rwxr-xr-x  1 root root   7323648 libthrift-0.9.3.so
> > -rw-r--r--  1 root root  18419836 libthrift.a
> > -rwxr-xr-x  1 root root       993 libthrift.la
> > -rwxr-xr-x  1 root root   1365352 libthriftnb-0.9.3.so
> > -rw-r--r--  1 root root   3003136 libthriftnb.a
> > -rwxr-xr-x  1 root root      1007 libthriftnb.la
> > lrwxrwxrwx  1 root root        20 libthriftnb.so -> libthriftnb-0.9.3.so
> > lrwxrwxrwx  1 root root        18 libthrift.so -> libthrift-0.9.3.so
> > -rwxr-xr-x  1 root root    350880 libthriftz-0.9.3.so
> > -rw-r--r--  1 root root    705388 libthriftz.a
> > -rwxr-xr-x  1 root root      1000 libthriftz.la
> > lrwxrwxrwx  1 root root        19 libthriftz.so -> libthriftz-0.9.3.so
> > -rw-r--r--  1 root root    367444 log4j-1.2.14.jar
> >
> >
> >
> > Then, I try to build parquet-cpp (cloned from github) by running:
> >
> > cmake -DPARQUET_BUILD_TESTS=Off .
> >
> > make
> >
> > However, I again get the following error regarding the compilation for
> > libthrift.a library:
> >
> > /usr/bin/ld: /usr/local/lib/libthrift.a(TProtocol.o): relocation
> > R_X86_64_32S against `_ZTVN6apache6thrift8protocol9TProtocolE' can not
> be
> > used when making a shared object; recompile with -fPIC
> > /usr/local/lib/libthrift.a: error adding symbols: Bad value
> > collect2: error: ld returned 1 exit status
> > CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
> > 'build/debug/libparquet.so' failed
> >
> > One more (hopefully relevant) detail is that once I run 'cmake' command
> for
> > parquet-cpp, I see the following in the output (It is listing the static
> > library libthrift.a - I am not sure if it supposed to use .so (shared)
> > library instead or not) :
> >
> > -- [ /usr/share/cmake-3.5/Modules/FindBoost.cmake:1516 ] Boost_FOUND = 1
> > -- Boost version: 1.58.0
> > -- Boost include dir: /usr/include
> > -- Boost libraries:
> > -- THRIFT_HOME:
> > -- Thrift version: Thrift version 0.9.3
> > -- Thrift include dir: /usr/local/include
> > -- Thrift static library: /usr/local/lib/libthrift.a
> > -- Thrift compiler: /usr/local/bin/thrift
> > -- Could not find the Snappy library. Looked in  system search paths.
> > -- Could not find the Brotli library. Looked in  system search paths.
> > -- Could not find the Arrow library. Looked for headers in /include, and
> for
> > libs in /lib
> > -- Build Type: DEBUG
> >
> >
> > I really appreciate any hint or help from your side to unblock me in
> > advance.
> >
> > Best.
> > James
> >
> > On Wed, Jan 11, 2017 at 7:30 AM, Wes McKinney <we...@gmail.com>
> wrote:
> >>
> >> hi James,
> >>
> >> You have to pass "-fPIC" in your $CXXFLAGS when you are building
> >> Thrift. See how we have things set up in our external project
> >>
> >>
> >> https://github.com/apache/parquet-cpp/blob/master/cmake_
> modules/ThirdpartyToolchain.cmake#L54
> >>
> >> As an example for Thrift 0.9.3 (which uses CMake now instead of
> >> autotools):
> >>
> >>
> >> https://github.com/conda-forge/thrift-cpp-feedstock/
> blob/master/recipe/build.sh#L19
> >>
> >> Let me know if you can't get it working
> >>
> >> - Wes
> >>
> >> On Tue, Jan 10, 2017 at 7:42 PM, James Pirz <ja...@gmail.com>
> wrote:
> >> > Hi,
> >> >
> >> > I am trying to build "parquet-cpp" project so that I can run the
> >> > examples
> >> > and find out how I can read/write parquet files. On a fresh Ubuntu
> 16.04
> >> > instance (64-bit) I am running 'cmake' and 'make' commands from the
> >> > parent
> >> > directory to build parquet-cpp project. I have already installed
> Thrift
> >> > successfully. However, the build keeps failing with:
> >> >
> >> > [ 84%] Linking CXX shared library build/debug/libparquet.so
> >> > /usr/bin/ld: /usr/local/lib/libthrift.a(TBufferTransports.o):
> relocation
> >> > R_X86_64_32 against `.rodata' can not be used when making a shared
> >> > object;
> >> > recompile with -fPIC
> >> > /usr/local/lib/libthrift.a: error adding symbols: Bad value
> >> > collect2: error: ld returned 1 exit status
> >> > CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
> >> > 'build/debug/libparquet.so' failed
> >> > make[2]: *** [build/debug/libparquet.so] Error 1
> >> > CMakeFiles/Makefile2:182: 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
> >> >
> >> > I have tried different versions of Thrift (0.7.0 and 0.9.1 and 0.9.3)
> >> > and
> >> > they all show the same error.
> >> > I have been trying to find proper compile command in the cmake/make
> >> > files
> >> > so I can pass -fPIC flag to compile Thrift as a shared library but I
> >> > could
> >> > not. I am just wondering if there is any specific flag or environment
> >> > setting that I need to use to fix this issue.
> >> >
> >> > Any help or suggestion would be really appreciated.
> >> >
> >> > Thanks.
> >> > James
> >
> >
>

Re: parquet-cpp problem with Thrift library

Posted by Wes McKinney <we...@gmail.com>.
hi James,

The "-fPIC" is still not being passed correctly. The build procedure
in https://github.com/apache/parquet-cpp/blob/master/cmake_modules/ThirdpartyToolchain.cmake
has only been tested on Thrift 0.9.1 -- Apache Thrift made some
changes to their build system between 0.9.1 and 0.9.3, so I would
recommend using CMake on the latest.

If you are using Thrift 0.9.3, can you use this incantation

mkdir -p $HOME/local

export CXXFLAGS="-fPIC"
export THRIFT_HOME=$HOME/local
cmake \
-DCMAKE_INSTALL_PREFIX=$THRIFT_HOME \
-DBUILD_PYTHON=off \
-DBUILD_JAVA=off \
-DBUILD_C_GLIB=off \
.

When you call make, do

make VERBOSE=1

and look at the invocations of gcc to ensure that -fPIC is being
passed in compilation.

This installs Thrift in $HOME/local. To rule out contamination in your
default system path, set this $THRIFT_HOME environment variable before
using parquet-cpp's CMake. If you can get that working, but not with
/usr/local, then there must be some stale files, perhaps from the
Ubuntu package manager.

- Wes


On Wed, Jan 11, 2017 at 5:29 PM, James Pirz <ja...@gmail.com> wrote:
> Dear Wes,
>
> Thanks a lot for your prompt help. I tried your suggestion, however I still
> can not build parquet-cpp successfully. Specifically what I am doing is:
>
> On a fresh Ubuntu instance, I download Thrift 0.9.3 and configure it as:
>
> ./configure "CXXFlags=-fPIC" --without-tests --disable-gen-erl
> --disable-gen-hs --without-ruby --without-haskell --without-erlang
>
> and I run 'make' and 'make install'. I can see that Thrift gets installed
> successfully with the following libraries added:
>
> ls -la /usr/local/lib
>
> -rw-r--r--  1 root root    234166 libthrift-0.9.3.jar
> -rw-r--r--  1 root root    551558 libthrift-0.9.3-javadoc.jar
> -rwxr-xr-x  1 root root   7323648 libthrift-0.9.3.so
> -rw-r--r--  1 root root  18419836 libthrift.a
> -rwxr-xr-x  1 root root       993 libthrift.la
> -rwxr-xr-x  1 root root   1365352 libthriftnb-0.9.3.so
> -rw-r--r--  1 root root   3003136 libthriftnb.a
> -rwxr-xr-x  1 root root      1007 libthriftnb.la
> lrwxrwxrwx  1 root root        20 libthriftnb.so -> libthriftnb-0.9.3.so
> lrwxrwxrwx  1 root root        18 libthrift.so -> libthrift-0.9.3.so
> -rwxr-xr-x  1 root root    350880 libthriftz-0.9.3.so
> -rw-r--r--  1 root root    705388 libthriftz.a
> -rwxr-xr-x  1 root root      1000 libthriftz.la
> lrwxrwxrwx  1 root root        19 libthriftz.so -> libthriftz-0.9.3.so
> -rw-r--r--  1 root root    367444 log4j-1.2.14.jar
>
>
>
> Then, I try to build parquet-cpp (cloned from github) by running:
>
> cmake -DPARQUET_BUILD_TESTS=Off .
>
> make
>
> However, I again get the following error regarding the compilation for
> libthrift.a library:
>
> /usr/bin/ld: /usr/local/lib/libthrift.a(TProtocol.o): relocation
> R_X86_64_32S against `_ZTVN6apache6thrift8protocol9TProtocolE' can not be
> used when making a shared object; recompile with -fPIC
> /usr/local/lib/libthrift.a: error adding symbols: Bad value
> collect2: error: ld returned 1 exit status
> CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
> 'build/debug/libparquet.so' failed
>
> One more (hopefully relevant) detail is that once I run 'cmake' command for
> parquet-cpp, I see the following in the output (It is listing the static
> library libthrift.a - I am not sure if it supposed to use .so (shared)
> library instead or not) :
>
> -- [ /usr/share/cmake-3.5/Modules/FindBoost.cmake:1516 ] Boost_FOUND = 1
> -- Boost version: 1.58.0
> -- Boost include dir: /usr/include
> -- Boost libraries:
> -- THRIFT_HOME:
> -- Thrift version: Thrift version 0.9.3
> -- Thrift include dir: /usr/local/include
> -- Thrift static library: /usr/local/lib/libthrift.a
> -- Thrift compiler: /usr/local/bin/thrift
> -- Could not find the Snappy library. Looked in  system search paths.
> -- Could not find the Brotli library. Looked in  system search paths.
> -- Could not find the Arrow library. Looked for headers in /include, and for
> libs in /lib
> -- Build Type: DEBUG
>
>
> I really appreciate any hint or help from your side to unblock me in
> advance.
>
> Best.
> James
>
> On Wed, Jan 11, 2017 at 7:30 AM, Wes McKinney <we...@gmail.com> wrote:
>>
>> hi James,
>>
>> You have to pass "-fPIC" in your $CXXFLAGS when you are building
>> Thrift. See how we have things set up in our external project
>>
>>
>> https://github.com/apache/parquet-cpp/blob/master/cmake_modules/ThirdpartyToolchain.cmake#L54
>>
>> As an example for Thrift 0.9.3 (which uses CMake now instead of
>> autotools):
>>
>>
>> https://github.com/conda-forge/thrift-cpp-feedstock/blob/master/recipe/build.sh#L19
>>
>> Let me know if you can't get it working
>>
>> - Wes
>>
>> On Tue, Jan 10, 2017 at 7:42 PM, James Pirz <ja...@gmail.com> wrote:
>> > Hi,
>> >
>> > I am trying to build "parquet-cpp" project so that I can run the
>> > examples
>> > and find out how I can read/write parquet files. On a fresh Ubuntu 16.04
>> > instance (64-bit) I am running 'cmake' and 'make' commands from the
>> > parent
>> > directory to build parquet-cpp project. I have already installed Thrift
>> > successfully. However, the build keeps failing with:
>> >
>> > [ 84%] Linking CXX shared library build/debug/libparquet.so
>> > /usr/bin/ld: /usr/local/lib/libthrift.a(TBufferTransports.o): relocation
>> > R_X86_64_32 against `.rodata' can not be used when making a shared
>> > object;
>> > recompile with -fPIC
>> > /usr/local/lib/libthrift.a: error adding symbols: Bad value
>> > collect2: error: ld returned 1 exit status
>> > CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
>> > 'build/debug/libparquet.so' failed
>> > make[2]: *** [build/debug/libparquet.so] Error 1
>> > CMakeFiles/Makefile2:182: 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
>> >
>> > I have tried different versions of Thrift (0.7.0 and 0.9.1 and 0.9.3)
>> > and
>> > they all show the same error.
>> > I have been trying to find proper compile command in the cmake/make
>> > files
>> > so I can pass -fPIC flag to compile Thrift as a shared library but I
>> > could
>> > not. I am just wondering if there is any specific flag or environment
>> > setting that I need to use to fix this issue.
>> >
>> > Any help or suggestion would be really appreciated.
>> >
>> > Thanks.
>> > James
>
>

Re: parquet-cpp problem with Thrift library

Posted by James Pirz <ja...@gmail.com>.
Dear Wes,

Thanks a lot for your prompt help. I tried your suggestion, however I still
can not build parquet-cpp successfully. Specifically what I am doing is:

On a fresh Ubuntu instance, I download Thrift 0.9.3 and configure it as:

./configure "CXXFlags=-fPIC" --without-tests --disable-gen-erl
--disable-gen-hs --without-ruby --without-haskell --without-erlang

and I run 'make' and 'make install'. I can see that Thrift gets installed
successfully with the following libraries added:

ls -la /usr/local/lib

-rw-r--r--  1 root root    234166 libthrift-0.9.3.jar
-rw-r--r--  1 root root    551558 libthrift-0.9.3-javadoc.jar
-rwxr-xr-x  1 root root   7323648 libthrift-0.9.3.so
-rw-r--r--  1 root root  18419836 libthrift.a
-rwxr-xr-x  1 root root       993 libthrift.la
-rwxr-xr-x  1 root root   1365352 libthriftnb-0.9.3.so
-rw-r--r--  1 root root   3003136 libthriftnb.a
-rwxr-xr-x  1 root root      1007 libthriftnb.la
lrwxrwxrwx  1 root root        20 libthriftnb.so -> libthriftnb-0.9.3.so
lrwxrwxrwx  1 root root        18 libthrift.so -> libthrift-0.9.3.so
-rwxr-xr-x  1 root root    350880 libthriftz-0.9.3.so
-rw-r--r--  1 root root    705388 libthriftz.a
-rwxr-xr-x  1 root root      1000 libthriftz.la
lrwxrwxrwx  1 root root        19 libthriftz.so -> libthriftz-0.9.3.so
-rw-r--r--  1 root root    367444 log4j-1.2.14.jar



Then, I try to build parquet-cpp (cloned from github) by running:

cmake -DPARQUET_BUILD_TESTS=Off .

make

However, I again get the following error regarding the compilation for
libthrift.a library:

/usr/bin/ld: /usr/local/lib/libthrift.a(TProtocol.o): relocation
R_X86_64_32S against `_ZTVN6apache6thrift8protocol9TProtocolE' can not be
used when making a shared object; recompile with -fPIC
/usr/local/lib/libthrift.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
'build/debug/libparquet.so' failed

One more (hopefully relevant) detail is that once I run 'cmake' command for
parquet-cpp, I see the following in the output (It is listing the static
library libthrift.a - I am not sure if it supposed to use .so (shared)
library instead or not) :

-- [ /usr/share/cmake-3.5/Modules/FindBoost.cmake:1516 ] Boost_FOUND = 1
-- Boost version: 1.58.0
-- Boost include dir: /usr/include
-- Boost libraries:
-- THRIFT_HOME:
-- Thrift version: Thrift version 0.9.3
-- Thrift include dir: /usr/local/include
*-- Thrift static library: /usr/local/lib/libthrift.a*
-- Thrift compiler: /usr/local/bin/thrift
-- Could not find the Snappy library. Looked in  system search paths.
-- Could not find the Brotli library. Looked in  system search paths.
-- Could not find the Arrow library. Looked for headers in /include, and
for libs in /lib
-- Build Type: DEBUG


I really appreciate any hint or help from your side to unblock me in
advance.

Best.
James

On Wed, Jan 11, 2017 at 7:30 AM, Wes McKinney <we...@gmail.com> wrote:

> hi James,
>
> You have to pass "-fPIC" in your $CXXFLAGS when you are building
> Thrift. See how we have things set up in our external project
>
> https://github.com/apache/parquet-cpp/blob/master/cmake_
> modules/ThirdpartyToolchain.cmake#L54
>
> As an example for Thrift 0.9.3 (which uses CMake now instead of autotools):
>
> https://github.com/conda-forge/thrift-cpp-feedstock/
> blob/master/recipe/build.sh#L19
>
> Let me know if you can't get it working
>
> - Wes
>
> On Tue, Jan 10, 2017 at 7:42 PM, James Pirz <ja...@gmail.com> wrote:
> > Hi,
> >
> > I am trying to build "parquet-cpp" project so that I can run the examples
> > and find out how I can read/write parquet files. On a fresh Ubuntu 16.04
> > instance (64-bit) I am running 'cmake' and 'make' commands from the
> parent
> > directory to build parquet-cpp project. I have already installed Thrift
> > successfully. However, the build keeps failing with:
> >
> > [ 84%] Linking CXX shared library build/debug/libparquet.so
> > /usr/bin/ld: /usr/local/lib/libthrift.a(TBufferTransports.o): relocation
> > R_X86_64_32 against `.rodata' can not be used when making a shared
> object;
> > recompile with -fPIC
> > /usr/local/lib/libthrift.a: error adding symbols: Bad value
> > collect2: error: ld returned 1 exit status
> > CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
> > 'build/debug/libparquet.so' failed
> > make[2]: *** [build/debug/libparquet.so] Error 1
> > CMakeFiles/Makefile2:182: 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
> >
> > I have tried different versions of Thrift (0.7.0 and 0.9.1 and 0.9.3) and
> > they all show the same error.
> > I have been trying to find proper compile command in the cmake/make files
> > so I can pass -fPIC flag to compile Thrift as a shared library but I
> could
> > not. I am just wondering if there is any specific flag or environment
> > setting that I need to use to fix this issue.
> >
> > Any help or suggestion would be really appreciated.
> >
> > Thanks.
> > James
>

Re: parquet-cpp problem with Thrift library

Posted by Wes McKinney <we...@gmail.com>.
hi James,

You have to pass "-fPIC" in your $CXXFLAGS when you are building
Thrift. See how we have things set up in our external project

https://github.com/apache/parquet-cpp/blob/master/cmake_modules/ThirdpartyToolchain.cmake#L54

As an example for Thrift 0.9.3 (which uses CMake now instead of autotools):

https://github.com/conda-forge/thrift-cpp-feedstock/blob/master/recipe/build.sh#L19

Let me know if you can't get it working

- Wes

On Tue, Jan 10, 2017 at 7:42 PM, James Pirz <ja...@gmail.com> wrote:
> Hi,
>
> I am trying to build "parquet-cpp" project so that I can run the examples
> and find out how I can read/write parquet files. On a fresh Ubuntu 16.04
> instance (64-bit) I am running 'cmake' and 'make' commands from the parent
> directory to build parquet-cpp project. I have already installed Thrift
> successfully. However, the build keeps failing with:
>
> [ 84%] Linking CXX shared library build/debug/libparquet.so
> /usr/bin/ld: /usr/local/lib/libthrift.a(TBufferTransports.o): relocation
> R_X86_64_32 against `.rodata' can not be used when making a shared object;
> recompile with -fPIC
> /usr/local/lib/libthrift.a: error adding symbols: Bad value
> collect2: error: ld returned 1 exit status
> CMakeFiles/parquet_shared.dir/build.make:123: recipe for target
> 'build/debug/libparquet.so' failed
> make[2]: *** [build/debug/libparquet.so] Error 1
> CMakeFiles/Makefile2:182: 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
>
> I have tried different versions of Thrift (0.7.0 and 0.9.1 and 0.9.3) and
> they all show the same error.
> I have been trying to find proper compile command in the cmake/make files
> so I can pass -fPIC flag to compile Thrift as a shared library but I could
> not. I am just wondering if there is any specific flag or environment
> setting that I need to use to fix this issue.
>
> Any help or suggestion would be really appreciated.
>
> Thanks.
> James