You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by Sanjay Rao <ge...@live.com> on 2016/08/01 19:57:16 UTC

Core dump while building with CPP

cmake -DARROW_BUILD_BENCHMARKS=ON .....make[  0%] Running flatc compiler on /u01/hadoop/src/arrow/arrow/cpp/../format/Message.fbsAssertion failed: *reinterpret_cast<char *>(&endiantest) == FLATBUFFERS_LITTLEENDIAN, file /u01/hadoop/src/arrow/arrow/cpp/thirdparty/flatbuffers-1.3.0/include/flatbuffers/flatbuffers.h, line 128, function EndianCheck*** Signal 6 - core dumped
Does it mean I cannot run it on BIG ENDIAN system ? or can I comment this line and proceed building it ?
Thanks,Sanjay 		 	   		  

Re: Core dump while building with CPP

Posted by Micah Kornfield <em...@gmail.com>.
This looks like somehow flatbuffers (a third party library) isn't getting
setup correctly for big-endian systems.  According to the documentation [1]
it should be able to work.  It would take some investigations to figure why
it isn't.

[1] https://google.github.io/flatbuffers/md__internals.html

On Mon, Aug 1, 2016 at 12:57 PM, Sanjay Rao <ge...@live.com> wrote:

>
> cmake -DARROW_BUILD_BENCHMARKS=ON .....make[  0%] Running flatc compiler
> on /u01/hadoop/src/arrow/arrow/cpp/../format/Message.fbsAssertion failed:
> *reinterpret_cast<char *>(&endiantest) == FLATBUFFERS_LITTLEENDIAN, file
> /u01/hadoop/src/arrow/arrow/cpp/thirdparty/flatbuffers-1.3.0/include/flatbuffers/flatbuffers.h,
> line 128, function EndianCheck*** Signal 6 - core dumped
> Does it mean I cannot run it on BIG ENDIAN system ? or can I comment this
> line and proceed building it ?
> Thanks,Sanjay

Re: Core dump while building with CPP

Posted by Wes McKinney <we...@gmail.com>.
You can either:

- Set the environment variable CXXFLAGS

or

- Pass CMAKE_CXX_FLAGS to the cmake command: cmake -DCMAKE_CXX_FLAGS=" ... "

Setting CMAKE_CXX_FLAGS as an environment variable does not do
anything AFAIK (double check the actual command lines with `make
VERBOSE=1`)

On Mon, Aug 1, 2016 at 1:24 PM, Sanjay Rao <ge...@live.com> wrote:
> Didn't help much, I actually rebuilt whole arrow cpp with export CMAKE_CXX_FLAGS="-DFLATBUFFERS_LITTLEENDIAN=0" and then tried to build simple debug, still it's failing in same step.
> Thanks,Sanjay
>
>> From: wesmckinn@gmail.com
>> Date: Mon, 1 Aug 2016 13:07:11 -0700
>> Subject: Re: Core dump while building with CPP
>> To: dev@arrow.apache.org
>>
>> See from flatbuffers.h
>>
>> // The wire format uses a little endian encoding (since that's efficient for
>> // the common platforms).
>> #if !defined(FLATBUFFERS_LITTLEENDIAN)
>>   #if defined(__GNUC__) || defined(__clang__)
>>     #ifdef __BIG_ENDIAN__
>>       #define FLATBUFFERS_LITTLEENDIAN 0
>>     #else
>>       #define FLATBUFFERS_LITTLEENDIAN 1
>>     #endif // __BIG_ENDIAN__
>>   #elif defined(_MSC_VER)
>>     #if defined(_M_PPC)
>>       #define FLATBUFFERS_LITTLEENDIAN 0
>>     #else
>>       #define FLATBUFFERS_LITTLEENDIAN 1
>>     #endif
>>   #else
>>     #error Unable to determine endianness, define FLATBUFFERS_LITTLEENDIAN.
>>   #endif
>> #endif // !defined(FLATBUFFERS_LITTLEENDIAN)
>>
>> I believe you may want to add -DFLATBUFFERS_LITTLEENDIAN=0 to
>> CMAKE_CXX_FLAGS (you can do this on the command line).
>>
>> Since not many of us have access to big endian hardware, it would be
>> helpful of you could submit a patch indicating what you had to do to
>> get things working on your platform.
>>
>> Thanks
>>
>> On Mon, Aug 1, 2016 at 12:57 PM, Sanjay Rao <ge...@live.com> wrote:
>> >
>> > cmake -DARROW_BUILD_BENCHMARKS=ON .....make[  0%] Running flatc compiler on /u01/hadoop/src/arrow/arrow/cpp/../format/Message.fbsAssertion failed: *reinterpret_cast<char *>(&endiantest) == FLATBUFFERS_LITTLEENDIAN, file /u01/hadoop/src/arrow/arrow/cpp/thirdparty/flatbuffers-1.3.0/include/flatbuffers/flatbuffers.h, line 128, function EndianCheck*** Signal 6 - core dumped
>> > Does it mean I cannot run it on BIG ENDIAN system ? or can I comment this line and proceed building it ?
>> > Thanks,Sanjay
>

RE: Core dump while building with CPP

Posted by Sanjay Rao <ge...@live.com>.
Didn't help much, I actually rebuilt whole arrow cpp with export CMAKE_CXX_FLAGS="-DFLATBUFFERS_LITTLEENDIAN=0" and then tried to build simple debug, still it's failing in same step.
Thanks,Sanjay

> From: wesmckinn@gmail.com
> Date: Mon, 1 Aug 2016 13:07:11 -0700
> Subject: Re: Core dump while building with CPP
> To: dev@arrow.apache.org
> 
> See from flatbuffers.h
> 
> // The wire format uses a little endian encoding (since that's efficient for
> // the common platforms).
> #if !defined(FLATBUFFERS_LITTLEENDIAN)
>   #if defined(__GNUC__) || defined(__clang__)
>     #ifdef __BIG_ENDIAN__
>       #define FLATBUFFERS_LITTLEENDIAN 0
>     #else
>       #define FLATBUFFERS_LITTLEENDIAN 1
>     #endif // __BIG_ENDIAN__
>   #elif defined(_MSC_VER)
>     #if defined(_M_PPC)
>       #define FLATBUFFERS_LITTLEENDIAN 0
>     #else
>       #define FLATBUFFERS_LITTLEENDIAN 1
>     #endif
>   #else
>     #error Unable to determine endianness, define FLATBUFFERS_LITTLEENDIAN.
>   #endif
> #endif // !defined(FLATBUFFERS_LITTLEENDIAN)
> 
> I believe you may want to add -DFLATBUFFERS_LITTLEENDIAN=0 to
> CMAKE_CXX_FLAGS (you can do this on the command line).
> 
> Since not many of us have access to big endian hardware, it would be
> helpful of you could submit a patch indicating what you had to do to
> get things working on your platform.
> 
> Thanks
> 
> On Mon, Aug 1, 2016 at 12:57 PM, Sanjay Rao <ge...@live.com> wrote:
> >
> > cmake -DARROW_BUILD_BENCHMARKS=ON .....make[  0%] Running flatc compiler on /u01/hadoop/src/arrow/arrow/cpp/../format/Message.fbsAssertion failed: *reinterpret_cast<char *>(&endiantest) == FLATBUFFERS_LITTLEENDIAN, file /u01/hadoop/src/arrow/arrow/cpp/thirdparty/flatbuffers-1.3.0/include/flatbuffers/flatbuffers.h, line 128, function EndianCheck*** Signal 6 - core dumped
> > Does it mean I cannot run it on BIG ENDIAN system ? or can I comment this line and proceed building it ?
> > Thanks,Sanjay
 		 	   		  

Re: Core dump while building with CPP

Posted by Wes McKinney <we...@gmail.com>.
See from flatbuffers.h

// The wire format uses a little endian encoding (since that's efficient for
// the common platforms).
#if !defined(FLATBUFFERS_LITTLEENDIAN)
  #if defined(__GNUC__) || defined(__clang__)
    #ifdef __BIG_ENDIAN__
      #define FLATBUFFERS_LITTLEENDIAN 0
    #else
      #define FLATBUFFERS_LITTLEENDIAN 1
    #endif // __BIG_ENDIAN__
  #elif defined(_MSC_VER)
    #if defined(_M_PPC)
      #define FLATBUFFERS_LITTLEENDIAN 0
    #else
      #define FLATBUFFERS_LITTLEENDIAN 1
    #endif
  #else
    #error Unable to determine endianness, define FLATBUFFERS_LITTLEENDIAN.
  #endif
#endif // !defined(FLATBUFFERS_LITTLEENDIAN)

I believe you may want to add -DFLATBUFFERS_LITTLEENDIAN=0 to
CMAKE_CXX_FLAGS (you can do this on the command line).

Since not many of us have access to big endian hardware, it would be
helpful of you could submit a patch indicating what you had to do to
get things working on your platform.

Thanks

On Mon, Aug 1, 2016 at 12:57 PM, Sanjay Rao <ge...@live.com> wrote:
>
> cmake -DARROW_BUILD_BENCHMARKS=ON .....make[  0%] Running flatc compiler on /u01/hadoop/src/arrow/arrow/cpp/../format/Message.fbsAssertion failed: *reinterpret_cast<char *>(&endiantest) == FLATBUFFERS_LITTLEENDIAN, file /u01/hadoop/src/arrow/arrow/cpp/thirdparty/flatbuffers-1.3.0/include/flatbuffers/flatbuffers.h, line 128, function EndianCheck*** Signal 6 - core dumped
> Does it mean I cannot run it on BIG ENDIAN system ? or can I comment this line and proceed building it ?
> Thanks,Sanjay