WebRTC and iOS simulator

832 views
Skip to first unread message

Andrey Moskvin

unread,
Mar 19, 2014, 5:55:28 AM3/19/14
to discuss...@googlegroups.com
Hi everybody!

I'm working on WebRTC integration into framework for video/audio calling. I've successfully built *.a static libraries for iOS device - but I have following errors when trying to build for iOS simulator:

[1006/1588] CC obj/third_party/libvpx/source/libvpx/vp9/common/x86/libvpx_intrinsics_ssse3.vp9_subpixel_8t_intrin_ssse3.o

FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/third_party/libvpx/source/libvpx/vp9/common/x86/libvpx_intrinsics_ssse3.vp9_subpixel_8t_intrin_ssse3.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -DDISABLE_NACL -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_NEW_GAMEPAD_API=1 -DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DENABLE_EGLIMAGE=1 -DCLD_VERSION=1 -DENABLE_SPELLCHECK=1 -DDISABLE_FTP_SUPPORT=1 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -I../../third_party/libvpx/source/config/linux/ia32 -I../../third_party/libvpx/source/libvpx -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -O0 -gdwarf-2 -fvisibility=hidden -Wnewline-eof -mios-simulator-version-min=6.0 -arch i386 -Wendif-labels -Wno-unused-parameter -Wno-missing-field-initializers -Wheader-hygiene -Wno-c++11-narrowing -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-deprecated-register -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-c++11-narrowing -std=c99 -Xclang -load -Xclang /Users/andrey.moskvin/Development/Temp/trunk/tools/clang/scripts/../../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-url-directory -fcolor-diagnostics -fstack-protector-all  -c ../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c -o obj/third_party/libvpx/source/libvpx/vp9/common/x86/libvpx_intrinsics_ssse3.vp9_subpixel_8t_intrin_ssse3.o

In file included from ../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:11:

/Users/andrey.moskvin/Development/Temp/trunk/third_party/llvm-build/Release+Asserts/bin/../lib/clang/3.5/include/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"

#error "SSSE3 instruction set not enabled"

 ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:47:3: error: use of undeclared identifier '__m128i'

  __m128i firstFilters, secondFilters, thirdFilters, forthFilters;

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:48:3: error: use of undeclared identifier '__m128i'

  __m128i srcRegFilt1, srcRegFilt2, srcRegFilt3, srcRegFilt4;

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:49:3: error: use of undeclared identifier '__m128i'

  __m128i addFilterReg64, filtersReg, srcReg, minReg;

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:53:3: error: use of undeclared identifier 'addFilterReg64'

  addFilterReg64 =_mm_set1_epi32((int)0x0400040u);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:53:19: warning: implicit declaration of function '_mm_set1_epi32' is invalid in C99 [-Wimplicit-function-declaration]

  addFilterReg64 =_mm_set1_epi32((int)0x0400040u);

                  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:54:3: error: use of undeclared identifier 'filtersReg'

  filtersReg = _mm_loadu_si128((__m128i *)filter);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:54:16: warning: implicit declaration of function '_mm_loadu_si128' is invalid in C99 [-Wimplicit-function-declaration]

  filtersReg = _mm_loadu_si128((__m128i *)filter);

               ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:54:33: error: use of undeclared identifier '__m128i'

  filtersReg = _mm_loadu_si128((__m128i *)filter);

                                ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:54:42: error: expected expression

  filtersReg = _mm_loadu_si128((__m128i *)filter);

                                         ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:57:3: error: use of undeclared identifier 'filtersReg'

  filtersReg =_mm_packs_epi16(filtersReg, filtersReg);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:57:15: warning: implicit declaration of function '_mm_packs_epi16' is invalid in C99 [-Wimplicit-function-declaration]

  filtersReg =_mm_packs_epi16(filtersReg, filtersReg);

              ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:57:31: error: use of undeclared identifier 'filtersReg'

  filtersReg =_mm_packs_epi16(filtersReg, filtersReg);

                              ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:60:3: error: use of undeclared identifier 'firstFilters'

  firstFilters = _mm_shufflelo_epi16(filtersReg, 0);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:60:18: warning: implicit declaration of function '_mm_shufflelo_epi16' is invalid in C99 [-Wimplicit-function-declaration]

  firstFilters = _mm_shufflelo_epi16(filtersReg, 0);

                 ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:60:38: error: use of undeclared identifier 'filtersReg'

  firstFilters = _mm_shufflelo_epi16(filtersReg, 0);

                                     ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:62:3: error: use of undeclared identifier 'secondFilters'

  secondFilters = _mm_shufflelo_epi16(filtersReg, 0xAAu);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:62:39: error: use of undeclared identifier 'filtersReg'

  secondFilters = _mm_shufflelo_epi16(filtersReg, 0xAAu);

                                      ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:64:3: error: use of undeclared identifier 'firstFilters'

  firstFilters = _mm_shufflehi_epi16(firstFilters, 0x55u);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:64:18: warning: implicit declaration of function '_mm_shufflehi_epi16' is invalid in C99 [-Wimplicit-function-declaration]

  firstFilters = _mm_shufflehi_epi16(firstFilters, 0x55u);

                 ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:64:38: error: use of undeclared identifier 'firstFilters'

  firstFilters = _mm_shufflehi_epi16(firstFilters, 0x55u);

                                     ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:66:3: error: use of undeclared identifier 'secondFilters'

  secondFilters = _mm_shufflehi_epi16(secondFilters, 0xFFu);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:66:39: error: use of undeclared identifier 'secondFilters'

  secondFilters = _mm_shufflehi_epi16(secondFilters, 0xFFu);

                                      ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:69:3: error: use of undeclared identifier 'thirdFilters'

  thirdFilters =_mm_load_si128((__m128i const *)filt1_4_h8);

  ^

../../third_party/libvpx/source/libvpx/vp9/common/x86/vp9_subpixel_8t_intrin_ssse3.c:69:17: warning: implicit declaration of function '_mm_load_si128' is invalid in C99 [-Wimplicit-function-declaration]

  thirdFilters =_mm_load_si128((__m128i const *)filt1_4_h8);

                ^

fatal error: too many errors emitted, stopping now [-ferror-limit=]

6 warnings and 20 errors generated.


I need have both iOS sim and device libraries to make it possible to launch app on any iOS platform (sim or device)...


Have anybody experienced such problems?


I've used following guide:

http://ninjanetic.com/how-to-get-started-with-webrtc-and-ios-without-wasting-10-hours-of-your-life/


Thanks for attention.


Best regards,

Andrey Moskvin


Misha K

unread,
Mar 27, 2014, 2:07:58 PM3/27/14
to discuss...@googlegroups.com
Hi Andrey,

I just tried to build WebRTC for iOS and got exactly the same errors. Were you able to figure those out?

~Misha

Cameron Webb

unread,
Mar 27, 2014, 2:16:44 PM3/27/14
to discuss...@googlegroups.com
While it's not a direct solution to your problem: is there any reason you absolutely have to use simulator instead of device? I suspect the issue lies in the fact that the simulator, is well, a simulator and doesn't necessarily have the same specifications on low-level as device.

Admittedly, I ran into same issues in the past, but if you got it working on the device then don't smash your head on keyboard trying to get simulator stuff to work. In due time I'd guess that the webrtc folks will have that all squared away. 

Misha K

unread,
Mar 27, 2014, 2:52:30 PM3/27/14
to discuss...@googlegroups.com
Cameron, I don't really care about the simulator, it's just the first thing that I tried to build. 
The workaround for the errors above is to exclude VP9 codec by modifying the libvpx.gyp file in trunk/third_party/libvpx/ from this
'libvpx_build_vp9%': 1
to this
'libvpx_build_vp9%': 0

~Misha

Ami Fischman

unread,
Mar 27, 2014, 3:27:41 PM3/27/14
to discuss...@googlegroups.com


--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Misha K

unread,
Mar 27, 2014, 3:50:24 PM3/27/14
to discuss...@googlegroups.com
Thanks Ami.

Igor Khomenko

unread,
May 28, 2014, 3:17:42 AM5/28/14
to discuss...@googlegroups.com
just tried to build latest src for iOS simulator and it works

did you fix this?

Or maybe it depends on user's environment 

среда, 19 марта 2014 г., 11:55:28 UTC+2 пользователь Andrey Moskvin написал:

Vikas

unread,
May 28, 2014, 1:21:32 PM5/28/14
to discuss...@googlegroups.com
See Ami's comment, issue 3126 fixed the build issue for ios simulator.

/Vikas
Reply all
Reply to author
Forward
0 new messages