ARM64 support was added after 2.5.0, so you probably have to patch the fix
back to 2.5.0 in order to compile 2.5.0 for arm64. See the patch:
https://github.com/google/protobuf/commit/2ca19bd8066821a56f193e7fca47139b25c617ad

On Thu, May 26, 2016 at 12:16 AM, David MacMillan <davidm...@gmail.com>
wrote:

> In recompiling the native libraries for Hadoop 2.6.4 for ARM64, I need
> protobuf 2.5.0 for ARM64. But when I try to build protobuf 2.5.0 on an
> ARM64 cpu, I get the 'atomicops' error shown below. This error seems
> similar to this bug report for Solaris:
> https://groups.google.com/forum/#!topic/protobuf/ozYD2lXIkGo
> but in my case it is for ARM64. It would be great if someone could either
> suggest a workaround or suggest how to fix the protobuf 2.5.0 make files.
> Unfortunately the build of the Hadoop native libraries is insisting on
> protobuf 2.5.0 so using a more recent protobuf version doesn't appear to be
> an option..
>
> Here is my make listing, with the error shown at the end:
> make
> make  all-recursive
> make[1]: Entering directory '/home/hduser/Downloads/protobuf-2.5.0'
> Making all in .
> make[2]: Entering directory '/home/hduser/Downloads/protobuf-2.5.0'
> make[2]: Leaving directory '/home/hduser/Downloads/protobuf-2.5.0'
> Making all in src
> make[2]: Entering directory '/home/hduser/Downloads/protobuf-2.5.0/src'
> /bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.
> -I..    -pthread -Wall -Wwrite-strings -Woverloaded-virtual
> -Wno-sign-compare -O2 -g -DNDEBUG -MT atomicops_internals_x86_gcc.lo -MD
> -MP -MF .deps/atomicops_internals_x86_gcc.Tpo -c -o
> atomicops_internals_x86_gcc.lo `test -f
> 'google/protobuf/stubs/atomicops_internals_x86_gcc.cc' || echo
> './'`google/protobuf/stubs/atomicops_internals_x86_gcc.cc
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -pthread -Wall
> -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -g -DNDEBUG -MT
> atomicops_internals_x86_gcc.lo -MD -MP -MF
> .deps/atomicops_internals_x86_gcc.Tpo -c
> google/protobuf/stubs/atomicops_internals_x86_gcc.cc  -fPIC -DPIC -o
> .libs/atomicops_internals_x86_gcc.o
> In file included from ./google/protobuf/stubs/atomicops.h:59:0,
>                  from
> google/protobuf/stubs/atomicops_internals_x86_gcc.cc:36:
> ./google/protobuf/stubs/platform_macros.h:61:2: error: #error Host
> architecture was not detected as supported by protobuf
>  #error Host architecture was not detected as supported by protobuf
>   ^
> In file included from
> google/protobuf/stubs/atomicops_internals_x86_gcc.cc:36:0:
> ./google/protobuf/stubs/atomicops.h:161:1: error: stray â#â in program
>  #error "Atomic operations are not supported on your platform"
>  ^
> ./google/protobuf/stubs/atomicops.h:188:1: note: in expansion of macro
> âGOOGLE_PROTOBUF_ATOMICOPS_ERRORâ
>  GOOGLE_PROTOBUF_ATOMICOPS_ERROR
>  ^
> ./google/protobuf/stubs/atomicops.h:161:2: error: âerrorâ does not name a
> type
>  #error "Atomic operations are not supported on your platform"
>   ^
> ./google/protobuf/stubs/atomicops.h:188:1: note: in expansion of macro
> âGOOGLE_PROTOBUF_ATOMICOPS_ERRORâ
>  GOOGLE_PROTOBUF_ATOMICOPS_ERROR
>  ^
> Makefile:1481: recipe for target 'atomicops_internals_x86_gcc.lo' failed
> make[2]: *** [atomicops_internals_x86_gcc.lo] Error 1
> make[2]: Leaving directory '/home/hduser/Downloads/protobuf-2.5.0/src'
> Makefile:669: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/home/hduser/Downloads/protobuf-2.5.0'
> Makefile:576: recipe for target 'all' failed
> make: *** [all] Error 2
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to protobuf+unsubscr...@googlegroups.com.
> To post to this group, send email to protobuf@googlegroups.com.
> Visit this group at https://groups.google.com/group/protobuf.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to