[protobuf] Re: Crosscompiling for AARCH64

2018-11-27 Thread varahala666
Hi all,

I am trying to build protobuf on target with using cross 
compilation"aarch64-oe-linux-gcc", i am facing some issue.
could you plz help me to resolve this.

On Wednesday, May 10, 2017 at 1:51:55 PM UTC+5:30, jebina elsie wrote:
>
> Hi All,
>
> I'm trying to cross compile the Protobuf 3.3.0 to the 64 bit ARM processor.
>
> with the configure command 
> ./configure CC="aarch64-oe-linux-gcc" CXX="aarch64-oe-linux-g++" 
> CFLAGS="--sysroot=/opt/oecore-x86_64/sysroots/aarch64-oe-linux -O2 
> -fexpensive-optimizations -frename-registers -fomit-frame-pointer 
> -ftree-vectorize -Wno-error=maybe-uninitialized -finline-functions 
> -finline-limit=64" CXXFLAGS=" 
> --sysroot=/opt/oecore-x86_64/sysroots/aarch64-oe-linux -O2 
> -fexpensive-optimizations -frename-registers -fomit-frame-pointer 
> -ftree-vectorize -Wno-error=maybe-uninitialized -finline-functions 
> -finline-limit=64" --host=x86_64 
> --with-protoc=/home/ubuntu/proto3/bin/protoc
>
> when i run make: i get these errors as below.
>
> Any suggestions / fix?
>
> In file included from ./google/protobuf/stubs/atomicops.h:208:0,
>  from 
> google/protobuf/stubs/atomicops_internals_x86_gcc.cc:36:
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_CompareAndSwap(volatile Atomic64*, 
> google::protobuf::internal::Atomic64, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:188:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_CompareAndSwap(volatile Atomic64*, 
> google::protobuf::internal::Atomic64, google::protobuf::internal::Atomic64)'
>  inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:52:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::NoBarrier_CompareAndSwap(volatile Atomic32*, 
> google::protobuf::internal::Atomic32, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicExchange(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:213:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicExchange(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)'
>  inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:77:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::NoBarrier_AtomicExchange(volatile Atomic32*, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:233:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)'
>  inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:97:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::NoBarrier_AtomicIncrement(volatile Atomic32*, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::Barrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:254:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::Barrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)'
>  inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:118:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::Barrier_AtomicIncrement(volatile Atomic32*, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
>  ^
> 

[protobuf] Re: Crosscompiling for AARCH64

2017-05-12 Thread 'Gerben Stavenga' via Protocol Buffers
It seems that somehow Atomic32 and Atomic64 become the same type. 

Feng you are the most knowledgeable on cross compiling. Do you know what 
happens here?

On Wednesday, May 10, 2017 at 1:21:55 AM UTC-7, jebina elsie wrote:
>
> Hi All,
>
> I'm trying to cross compile the Protobuf 3.3.0 to the 64 bit ARM processor.
>
> with the configure command 
> ./configure CC="aarch64-oe-linux-gcc" CXX="aarch64-oe-linux-g++" 
> CFLAGS="--sysroot=/opt/oecore-x86_64/sysroots/aarch64-oe-linux -O2 
> -fexpensive-optimizations -frename-registers -fomit-frame-pointer 
> -ftree-vectorize -Wno-error=maybe-uninitialized -finline-functions 
> -finline-limit=64" CXXFLAGS=" 
> --sysroot=/opt/oecore-x86_64/sysroots/aarch64-oe-linux -O2 
> -fexpensive-optimizations -frename-registers -fomit-frame-pointer 
> -ftree-vectorize -Wno-error=maybe-uninitialized -finline-functions 
> -finline-limit=64" --host=x86_64 
> --with-protoc=/home/ubuntu/proto3/bin/protoc
>
> when i run make: i get these errors as below.
>
> Any suggestions / fix?
>
> In file included from ./google/protobuf/stubs/atomicops.h:208:0,
>  from 
> google/protobuf/stubs/atomicops_internals_x86_gcc.cc:36:
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_CompareAndSwap(volatile Atomic64*, 
> google::protobuf::internal::Atomic64, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:188:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_CompareAndSwap(volatile Atomic64*, 
> google::protobuf::internal::Atomic64, google::protobuf::internal::Atomic64)'
>  inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:52:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::NoBarrier_CompareAndSwap(volatile Atomic32*, 
> google::protobuf::internal::Atomic32, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicExchange(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:213:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicExchange(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)'
>  inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:77:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::NoBarrier_AtomicExchange(volatile Atomic32*, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:233:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::NoBarrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)'
>  inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:97:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::NoBarrier_AtomicIncrement(volatile Atomic32*, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: In function 
> 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::Barrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)':
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:254:17: error: 
> redefinition of 'google::protobuf::internal::Atomic64 
> google::protobuf::internal::Barrier_AtomicIncrement(volatile Atomic64*, 
> google::protobuf::internal::Atomic64)'
>  inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h:118:17: note: 
> 'google::protobuf::internal::Atomic32 
> google::protobuf::internal::Barrier_AtomicIncrement(volatile Atomic32*, 
> google::protobuf::internal::Atomic32)' previously defined here
>  inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
>  ^
> ./google/protobuf/stubs/atomicops_internals_arm64_gcc.h: