Ijkplayer: iOS build failing on High Sierra and xCode 9

Created on 28 Sep 2017  ·  5Comments  ·  Source: bilibili/ijkplayer

Hi!
I have error when building ffmpeg for iOS on fresh install of macOS and Xcode in config.log.

First error in file:
`check_cpp_condition stddef.h defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4
check_cpp
BEGIN /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c
1 #include
2 #if !(defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4)
3 #error "unsatisfied condition: defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4"
4 #endif
END /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c
xcrun -sdk iphoneos clang -arch armv7 -miphoneos-version-min=6.0 -fembed-bitcode -E -o /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.GKCmP2wn.o /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c
xcrun: error: SDK "iphoneos" cannot be located
/var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c:3:2: error: "unsatisfied condition: defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4"

error "unsatisfied condition: defined __ARM_ARCH_4__ || defined __TARGET_ARCH_4"

^
1 error generated.`

and last lines of log file:

BEGIN /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c 1 #include <stddef.h> 2 #if !(defined __ARM_ARCH_7A__ || defined __TARGET_ARCH_7_A) 3 #error "unsatisfied condition: defined __ARM_ARCH_7A__ || defined __TARGET_ARCH_7_A" 4 #endif END /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c xcrun -sdk iphoneos clang -arch armv7 -miphoneos-version-min=6.0 -fembed-bitcode -E -o /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.GKCmP2wn.o /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c xcrun: error: SDK "iphoneos" cannot be located check_ld cc check_cc BEGIN /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c 1 int main(void){ return 0; } END /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c xcrun -sdk iphoneos clang -arch armv7 -miphoneos-version-min=6.0 -fembed-bitcode -march=armv7-a -c -o /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.GKCmP2wn.o /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.nOgDIA3z.c xcrun: error: SDK "iphoneos" cannot be located xcrun -sdk iphoneos clang -arch armv7 -miphoneos-version-min=6.0 -fembed-bitcode -march=armv7-a -o /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.f9UEngdH /var/folders/xq/zcqv0m4s3cd1zj_qj60wcj1r0000gn/T//ffconf.GKCmP2wn.o xcrun: error: SDK "iphoneos" cannot be located ld: warning: ignoring file /usr/lib/libSystem.dylib, missing required architecture armv7 in file /usr/lib/libSystem.dylib (2 slices) ld: dynamic main executables must link with libSystem.dylib for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) C compiler test failed.

I was previously building on Sierra and xCode 8.3. Everything worked fine and I was able to use iOS library. Am I missing something or it is a bug on iOS 11 and macOS High Sierra?

Most helpful comment

for those wondering how to do that sudo xcode-select -switch /Applications/Xcode.app

All 5 comments

Ok. I have solved it. Xcode-select was set to command line tools, not to Xcode app.

Ok. I have solved it. Xcode-select was set to command line tools, not to Xcode app. what's neans?

Ok. I have solved it. Xcode-select was set to command line tools, not to Xcode app. what's neans?

If You first install Command line tools and then Xcode, your Xcode-select variable is set to command line tools not to Xcode itself. Command line tools don't have iOS libraries that are needed for build. If You change Xcode-select variable to point to Xcode itself, build passes.

for those wondering how to do that sudo xcode-select -switch /Applications/Xcode.app

Good info, thank you!

Was this page helpful?
0 / 5 - 0 ratings