libvpx: Does not compile for iOS arm using GN |
||||||||
Issue descriptione.g. gn gen out/ios32 --ide=xcode --args="target_cpu=\"arm\" target_os=\"ios\"" ninja -C out/ios32 libvpx Errors like: [12/41] ASM obj/third_party/libvpx/libvpx_assembly_arm/vp8_short_fdct4x4_armv6.o FAILED: obj/third_party/libvpx/libvpx_assembly_arm/vp8_short_fdct4x4_armv6.o ../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/third_party/libvpx/libvpx_assembly_arm/vp8_short_fdct4x4_armv6.o.d -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=274369-1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -I../.. -Igen -I../../third_party/libvpx/source/config -I../../third_party/libvpx/source/config/linux/arm-neon -I../../third_party/libvpx/source/libvpx -Igen/third_party/libvpx -mfpu=neon -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fcolor-diagnostics -arch armv7 -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -stdlib=libc++ -miphoneos-version-min=8.0 -fno-integrated-as -c gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S -o obj/third_party/libvpx/libvpx_assembly_arm/vp8_short_fdct4x4_armv6.o gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:3:Unknown pseudo-op: .equ gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:3:Rest of line ignored. 1st junk character valued 68 (D). gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:14:Unknown pseudo-op: .global gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:14:Rest of line ignored. 1st junk character valued 118 (v). gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:15:Unknown pseudo-op: .type gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:15:Rest of line ignored. 1st junk character valued 118 (v). gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:18:Unknown pseudo-op: .eabi_attribute gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:18:Rest of line ignored. 1st junk character valued 50 (2). gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:19:Unknown pseudo-op: .eabi_attribute gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:19:Rest of line ignored. 1st junk character valued 50 (2). gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:248:Unknown pseudo-op: .size gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:248:Rest of line ignored. 1st junk character valued 118 (v). gen/third_party/libvpx/vp8_short_fdct4x4_armv6.S:268:unknown section type: %progbits clang: error: assembler command failed with exit code 1 (use -v to see invocation) Blocks WebRTC migration to GN.
,
Aug 8 2016
,
Aug 8 2016
Looks like it tries to compiled armv6 assembly language files for armv7 cpu (which may not work). It also looks like it uses clang to do the compilation, which I'm not sure is supported. Looking at gyp (third_party/libvpx/libvpx.gyp), the compilation is done using yasm there, so I guess the gn rules should be changed to use yasm to compile those files using action instead of putting them in source_set. There is a third_party/yasm/yasm_assemble.gni that I think should be used where the gyp code was using third_party/yasm/yasm_compile.gypi. I won't have time to work on this before September, so returning to the pool.
,
Aug 8 2016
,
Aug 9 2016
Zeke, since you filed this bug at crbug.com I assumed you tried this on Chromium - but this is from a WebRTC checkout, right? From a Chromium checkout I don't get any libvpx target, and after looking around at cs.chromium.org it seems libvpx not included in Chromium for iOS. I also have to add ios_enable_code_signing=false to have it generate ninja files. marpan/johannkoenig/others: can you assist getting the libvpx BUILD.gn to work for iOS?
,
Aug 9 2016
The Chrome Remote Desktop iOS app will need this as well. It builds inside of chromium's repo and is an iOS app.
,
Aug 9 2016
I filed at crbug because the relevant GN file changes need to be made in chromium repo iirc. But yes, this is from a WebRTC checkout.
,
Aug 9 2016
,
Aug 9 2016
,
Aug 9 2016
armv6 is gone from upstream libvpx [1], so it's probably not worth spending time on this. For reference, though, yasm is only used for x86 architectures. For arm targets we convert to gas and usually use the assembler directly. [1] https://chromium-review.googlesource.com/#/c/364584/
,
Aug 9 2016
When is the next libvpx pull into chromium?
,
Aug 10 2016
Rolls are done fairly frequently, but can be done on demand for things like this [1]. It's pretty easy [2], so if something comes up in the future feel free to propose a change. [1] https://codereview.chromium.org/2235663002/ [2] https://chromium.googlesource.com/chromium/src/+/master/third_party/libvpx/README.chromium
,
Aug 10 2016
Marco sent a roll that picks up a few more changes: https://codereview.chromium.org/2221193003/
,
Aug 10 2016
Awesome, thanks. I'll try building once the changes in and update this bug.
,
Aug 10 2016
Cool, our rolling of chromium_revision in WebRTC DEPS is currently blocked on https://bugs.chromium.org/p/webrtc/issues/detail?id=6200 but I believe it's being worked on today so we might be able to roll again soon.
,
Aug 10 2016
The libvpx roll in #13 has been committed.
,
Aug 11 2016
Still not working sadly. Think we need to use the same compiler as what gyp is using. [201/214] ASM obj/third_party/libvpx/libvpx_assembly_arm/loopfilter_16_neon.o FAILED: obj/third_party/libvpx/libvpx_assembly_arm/loopfilter_16_neon.o ../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/third_party/libvpx/libvpx_assembly_arm/loopfilter_16_neon.o.d -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=277962-1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -I../.. -Igen -I../../third_party/libvpx/source/config -I../../third_party/libvpx/source/config/linux/arm-neon -I../../third_party/libvpx/source/libvpx -Igen/third_party/libvpx -mfpu=neon -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fcolor-diagnostics -arch armv7 -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -stdlib=libc++ -miphoneos-version-min=8.0 -fno-integrated-as -c gen/third_party/libvpx/loopfilter_16_neon.S -o obj/third_party/libvpx/libvpx_assembly_arm/loopfilter_16_neon.o gen/third_party/libvpx/loopfilter_16_neon.S:3:Unknown pseudo-op: .equ gen/third_party/libvpx/loopfilter_16_neon.S:3:Rest of line ignored. 1st junk character valued 68 (D). gen/third_party/libvpx/loopfilter_16_neon.S:14:Unknown pseudo-op: .global gen/third_party/libvpx/loopfilter_16_neon.S:14:Rest of line ignored. 1st junk character valued 118 (v). gen/third_party/libvpx/loopfilter_16_neon.S:15:Unknown pseudo-op: .type gen/third_party/libvpx/loopfilter_16_neon.S:15:Rest of line ignored. 1st junk character valued 118 (v). gen/third_party/libvpx/loopfilter_16_neon.S:85:Unknown pseudo-op: .size gen/third_party/libvpx/loopfilter_16_neon.S:85:Rest of line ignored. 1st junk character valued 118 (v). gen/third_party/libvpx/loopfilter_16_neon.S:204:Unknown pseudo-op: .size gen/third_party/libvpx/loopfilter_16_neon.S:204:Rest of line ignored. 1st junk character valued 118 (v). gen/third_party/libvpx/loopfilter_16_neon.S:206:unknown section type: %progbits clang: error: assembler command failed with exit code 1 (use -v to see invocation) [202/214] ASM obj/third_party/libvpx/libvpx_assembly_arm/intrapred_neon_asm.o
,
Aug 12 2016
Anyone know what this does? GYP builds seem to be applying it https://cs.chromium.org/chromium/src/third_party/libvpx/ads2gas.gypi?q=convert_asm&sq=package:chromium&l=36
,
Aug 12 2016
it converts between assembly formats, ADS (arm assembly) -> GAS (gnu as). You're using the GAS files already: https://cs.chromium.org/chromium/src/third_party/libvpx/BUILD.gn?rcl=0&l=228
,
Aug 12 2016
That seems to be the issue then? It seems to not be using ads2gas_apple.pl
,
Aug 12 2016
Sounds right. I forgot there was a separate version.
,
Aug 16 2016
,
Aug 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/de6fea2617b6baab0433af673d4fb7e2dde830ce commit de6fea2617b6baab0433af673d4fb7e2dde830ce Author: tkchin <tkchin@chromium.org> Date: Wed Aug 17 21:33:21 2016 Fix libvpx iOS ARM GN build. BUG= 635180 Review-Url: https://codereview.chromium.org/2250833002 Cr-Commit-Position: refs/heads/master@{#412649} [modify] https://crrev.com/de6fea2617b6baab0433af673d4fb7e2dde830ce/third_party/libvpx/BUILD.gn
,
Aug 17 2016
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by rsesek@chromium.org
, Aug 5 2016