Closed Bug 1304965 Opened 8 years ago Closed 8 years ago

/home/worker/workspace/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

Categories

(Firefox OS Graveyard :: GonkIntegration, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: gerard-majax, Assigned: gerard-majax)

References

Details

Attachments

(1 file)

/home/worker/workspace/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 /home/worker/workspace/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 /home/worker/workspace/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 /home/worker/workspace/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 /home/worker/workspace/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
So this happens because even though the device's kernel has <linux/videodev2.h> where this is defined, currently, inclusion is being performed from NDK r11b's android-19 platform, where this is not exposed. Grepping around shows this starts being exposed on platform 21 ...
Ok, looks like --with-linux-headers= helps :)
(In reply to Alexandre LISSY :gerard-majax from comment #3) > Ok, looks like --with-linux-headers= helps :) Actually it does not, clashes with the use of Android NDK :(
Comment on attachment 8794192 [details] Bug 1304965 - Force use of bionic libc for Gonk on Kitkat https://reviewboard.mozilla.org/r/80744/#review79902 ::: old-configure.in:129 (Diff revision 1) > AC_DEFINE(MOZ_OMX_ENCODER) > MOZ_SECUREELEMENT=1 > ;; > 19) > CPPFLAGS="-I$gonkdir/frameworks/native/include -I$gonkdir/frameworks/av/include -I$gonkdir/frameworks/av/include/media -I$gonkdir/frameworks/av/include/camera -I$gonkdir/frameworks/native/include/media/openmax -I$gonkdir/frameworks/av/media/libstagefright/include $CPPFLAGS" > + GONK_KERNEL_INCLUDES="-I$gonkdir/bionic/libc/kernel/common -I$gonkdir/bionic/libc/kernel/arch-${CPU_ARCH}" Why not just put that in CPPFLAGS, avoiding to change third-party gyp files?
Attachment #8794192 - Flags: review?(mh+mozilla)
Because this would require hacking around in android.m4 to make sure those flags are after the platform NDK ones, and I felt it was nastier to do so, considering it would impact the whole build: android.m4 is loaded before the gonk section in old-configure.in, so we cannot just define a variable in old-configure.in and pick it from there. I am open to any suggestion, though, because I am not a big fan either of changing gyp files :)
Flags: needinfo?(mh+mozilla)
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Flags: needinfo?(mh+mozilla)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: