Hi.
I tried posting this to the ML as well, but a) that was withheld for moderation and b) the ML seems a lot less frequented. I apologize if this ‘cross post’ is against the etiquette here.
I’m building on Arch Linux, after a long hiatus/switching machines, and my build fails in objdir-gecko/media/webrtc/trunk/webrtc/modules/modules_video_capture_module_internal_impl with
/usr/bin/ccache /home/dar/temp/android-ndk-r11c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -std=gnu++11 -o Unified_cpp_webrtc_modules0.o -c -I/home/dar/rojects/B2G/objdir-gecko/dist/system_wrappers -include /home/dar/projects/B2G/gecko/config/gcc_hidden.h -DNDEBUG -DTRIMMED=1 -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DUSE_NSS=1 -DENABLE_ONE_CLICK_SIGNIN -DGTK_DISABLE_SINGLE_INCLUDES=1 -D_ISOC99_SOURC=1 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLEPROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DWEBRTC_GONK -DWEBRTC_MOZILLA_BUILD -DEXPAT_RELATIVE_PATH -DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7 -DWEBRTC_UILD_NEON_LIBS -DWEBRTC_DETECT_ARM_NEON -DWEBRTC_POSIX -DWEBRTC_LINUX -DWEBRTC_ANDROID_OPENSLES -DMOZ_WEBRTC_OMX -D__STDC_FORMAT_MACROS -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/home/dar/projects/B2G/geco/media/webrtc/trunk/webrtc/modules -I/home/dar/projects/B2G/objdir-gecko/media/webrtc/trunk/webrtc/modules/modules_video_capture_module_internal_impl -I/home/dar/projects/B2G/gecko/media/webrtc/trunk -I/home/dar/projects/B2G/objdir-gecko/ipc/ipdl/_ipdlheaders -I/home/darprojects/B2G/gecko/ipc/chromium/src -I/home/dar/projects/B2G/gecko/ipc/glue -I/home/dar/projects/B2G/objdir-gecko/dist/include -fPIC -DMOZILLA_CLIENT -include /home/dar/projects/B2G/objdir-gecko/mozilla-config.h -MD -MP -MF .deps/Unified_cpp_webrtc_modules0.o.pp -I/home/dr/projects/B2G/system -I/home/dar/projects/B2G/system/core/include -I/home/dar/projects/B2G/hardware/libhardware/include -I/home/dar/projects/B2G/external/valgrind/fxos-include -I/home/dar/projects/B2G/frameworks/native/include -I/home/dar/projects/B2G/frameworks/av/inclue -I/home/dar/projects/B2G/frameworks/av/include/media -I/home/dar/projects/B2G/frameworks/av/include/camera -I/home/dar/projects/B2G/frameworks/native/include/media/openmax -I/home/dar/projects/B2G/frameworks/av/media/libstagefright/include -idirafter /home/dar/temp/andrid-ndk-r11c/platforms/android-19/arch-arm/usr/include -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wthread-safety -Wno-error=maybe-uninitilized -Wno-error=deprecated-declarations -Wno-error=array-bounds -fno-short-enums -fno-exceptions -DMOZ_ENABLE_JS_DUMP -include /home/dar/projects/B2G/gonk-misc/Unicode.h -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -mno-unaligned-access -I/home/dar/temp/android-nk-r11c/sources/android/support/include -I/home/dar/temp/android-ndk-r11c/sources/cxx-stl/llvm-libc++/libcxx/include -I/home/dar/temp/android-ndk-r11c/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdatasections -fno-exceptions -fno-math-errno -pipe -g -freorder-blocks -fno-reorder-functions -Os -funwind-tables -I/home/dar/projects/B2G/objdir-gecko/dist/include/nspr /home/dar/projects/B2G/objdir-gecko/media/webrtc/trunk/webrtc/modules/modules_video_capture_module_interna_impl/Unified_cpp_webrtc_modules0.cpp
In file included from /home/dar/projects/B2G/objdir-gecko/media/webrtc/trunk/webrtc/modules/modules_video_capture_module_internal_impl/Unified_cpp_webrtc_modules0.cpp:2:0:
/home/dar/projects/B2G/gecko/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc: In member function 'int32_t webrtc::videocapturemodule::DeviceInfoLinux::FillCapabilities(int)':
/home/dar/projects/B2G/gecko/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc:408:29: error: aggregate 'webrtc::videocapturemodule::DeviceInfoLinux::FillCapabilities(int)::v4l2_frmsizeenum frmsize' has incomplete type and cannot be defined
struct v4l2_frmsizeenum frmsize;
^
/home/dar/projects/B2G/gecko/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc:409:29: error: aggregate 'webrtc::videocapturemodule::DeviceInfoLinux::FillCapabilities(int)::v4l2_frmivalenum frmival' has incomplete type and cannot be defined
struct v4l2_frmivalenum frmival;
^
/home/dar/projects/B2G/gecko/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc:416:26: error: 'VIDIOC_ENUM_FRAMESIZES' was not declared in this scope
while (ioctl(fd, VIDIOC_ENUM_FRAMESIZES, &frmsize) >= 0) {
^
/home/dar/projects/B2G/gecko/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc:417:33: error: 'V4L2_FRMSIZE_TYPE_DISCRETE' was not declared in this scope
if (frmsize.type == V4L2_FRMSIZE_TYPE_DISCRETE) {
^
/home/dar/projects/B2G/gecko/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc:422:31: error: 'VIDIOC_ENUM_FRAMEINTERVALS' was not declared in this scope
if (ioctl(fd, VIDIOC_ENUM_FRAMEINTERVALS, &frmival) >= 0) {
But … the file in question (device_info_linux.cc) has these includes
#if defined(__NetBSD__) || defined(__OpenBSD__)
#include <sys/videoio.h>
#elif defined(__sun)
#include <sys/videodev2.h>
#else
#include <linux/videodev2.h>
#endif
and /usr/include/linux/videodev2.h line 2243 is
#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct v4l2_frmsizeenum)
What am I missing? Thanks in advance,
Ben