arm64 cross build on ubuntu 18 (x64)

103 views
Skip to first unread message

Min Wang

unread,
Sep 24, 2020, 3:31:08 PM9/24/20
to webrtcbuilds
Hi 

Anyone has a luck to cross build the libwebrtc.a for arm64 on Ubutun 18 x64 ?

Here are errors when I tried: 

build.sh -t linux -c arm64
...

cc1plus: warning: unrecognized command line option '-Wno-class-memaccess'
cc1plus: warning: unrecognized command line option '-Wno-packed-not-aligned'
[1527/3092] CC obj/third_party/libjpeg_turbo/simd/jidctint-neon.o
FAILED: obj/third_party/libjpeg_turbo/simd/jidctint-neon.o
aarch64-linux-gnu-gcc -MMD -MF obj/third_party/libjpeg_turbo/simd/jidctint-neon.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_DEBUG=0 -DCR_LIBCXX_REVISION=375504 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/libjpeg_turbo -I../.. -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-omit-frame-pointer -g2 -gsplit-dwarf -fno-builtin-abs -fvisibility=hidden -O3 -fno-ident -fdata-sections -ffunction-sections -std=gnu11 -c ../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c -o obj/third_party/libjpeg_turbo/simd/jidctint-neon.o
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c: In function 'jsimd_idct_islow_neon':
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:228:30: warning: missing braces around initializer [-Wmissing-braces]
       int16x4x4_t quadrant = { dcval, dcval, dcval, dcval };
                              ^
                                {                          }
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:285:30: warning: missing braces around initializer [-Wmissing-braces]
       int16x4x4_t quadrant = { dcval, dcval, dcval, dcval };
                              ^
                                {                          }
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c: In function 'jsimd_idct_islow_pass1_regular':
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:350:30: warning: implicit declaration of function 'vld1_s16_x3'; did you mean 'vld1_s16'? [-Wimplicit-function-declaration]
   const int16x4x3_t consts = vld1_s16_x3(jsimd_idct_islow_neon_consts);
                              ^~~~~~~~~~~
                              vld1_s16
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:350:30: error: invalid initializer
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c: In function 'jsimd_idct_islow_pass1_sparse':
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:467:30: error: invalid initializer
   const int16x4x3_t consts = vld1_s16_x3(jsimd_idct_islow_neon_consts);
                              ^~~~~~~~~~~
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c: In function 'jsimd_idct_islow_pass2_regular':
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:541:30: error: invalid initializer
   const int16x4x3_t consts = vld1_s16_x3(jsimd_idct_islow_neon_consts);
                              ^~~~~~~~~~~
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:647:35: warning: missing braces around initializer [-Wmissing-braces]
   uint16x4x4_t cols_01_23_45_67 = { vreinterpret_u16_u8(cols_01_23.val[0]),
                                   ^
                                     {
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:651:35:
                                   };
                                   }
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c: In function 'jsimd_idct_islow_pass2_sparse':
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:679:30: error: invalid initializer
   const int16x4x3_t consts = vld1_s16_x3(jsimd_idct_islow_neon_consts);
                              ^~~~~~~~~~~
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:743:35: warning: missing braces around initializer [-Wmissing-braces]
   uint16x4x4_t cols_01_23_45_67 = { vreinterpret_u16_u8(cols_01_23.val[0]),
                                   ^
                                     {
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c:747:35:
                                   };
                                   }
../../third_party/libjpeg_turbo/simd/arm/common/jidctint-neon.c: At top level:
cc1: warning: unrecognized command line option '-Wno-packed-not-aligned'
[1528/3092] CC obj/third_party/libjpeg_turbo/simd/jidctred-neon.o
FAILED: obj/third_party/libjpeg_turbo/simd/jidctred-neon.o
aarch64-linux-gnu-gcc -MMD -MF obj/third_party/libjpeg_turbo/simd/jidctred-neon.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_DEBUG=0 -DCR_LIBCXX_REVISION=375504 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/libjpeg_turbo -I../.. -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-omit-frame-pointer -g2 -gsplit-dwarf -fno-builtin-abs -fvisibility=hidden -O3 -fno-ident -fdata-sections -ffunction-sections -std=gnu11 -c ../../third_party/libjpeg_turbo/simd/arm/common/jidctred-neon.c -o obj/third_party/libjpeg_turbo/simd/jidctred-neon.o
../../third_party/libjpeg_turbo/simd/arm/common/jidctred-neon.c: In function 'jsimd_idct_4x4_neon':
../../third_party/libjpeg_turbo/simd/arm/common/jidctred-neon.c:225:30: warning: implicit declaration of function 'vld1_s16_x3'; did you mean 'vld1_s16'? [-Wimplicit-function-declaration]
   const int16x4x3_t consts = vld1_s16_x3(jsimd_idct_4x4_neon_consts);
                              ^~~~~~~~~~~
                              vld1_s16
../../third_party/libjpeg_turbo/simd/arm/common/jidctred-neon.c:225:30: error: invalid initializer
../../third_party/libjpeg_turbo/simd/arm/common/jidctred-neon.c:456:31: warning: missing braces around initializer [-Wmissing-braces]
   uint16x4x2_t output_01_23 = { vreinterpret_u16_u8(output_0123.val[0]),
                               ^
                                 {
../../third_party/libjpeg_turbo/simd/arm/common/jidctred-neon.c:458:31:
                               };
                               }
../../third_party/libjpeg_turbo/simd/arm/common/jidctred-neon.c: At top level:
cc1: warning: unrecognized command line option '-Wno-packed-not-aligned'
[1536/3092] CC obj/third_party/libjpeg_turbo/simd/jidctfst-neon.o
ninja: build stopped: subcommand failed.



thanks

min

Min Wang

unread,
Sep 24, 2020, 4:45:50 PM9/24/20
to webrtcbuilds
HI

To answer myself,   once I commented out those lines ( in util.sh), 


      #if [[ $platform = 'linux' && $target_os != 'android' && $target_cpu != amd* ]]; then
      #  target_args+=" is_clang=false use_sysroot=false"
      #fi

that means it will use clang instead of gcc, it will cross-compile successfully!


thanks

min
Reply all
Reply to author
Forward
0 new messages