Hello, I cannot build the latest snapshot from http://www.saillard.org/linux/pwc/snapshots/.
First I changed asm/semaphore.h into linux/semaphore.h in pwc.h (it's been moved since 2.6.25 or so). After that, it still complains about undeclared identifiers and such: $ make make -C /lib/modules/2.6.31-14-generic/build SUBDIRS=/home/ariel/sources/pwc-v4l2-20090629-042701 modules make[1]: Entering directory `/usr/src/linux-headers-2.6.31-14-generic' CC [M] /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.o /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:163: error: ‘v4l_compat_ioctl32’ undeclared here (not in a function) /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:167: error: unknown field ‘owner’ specified in initializer /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:167: warning: initialization from incompatible pointer type /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:169: error: unknown field ‘type’ specified in initializer /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:170: error: unknown field ‘hardware’ specified in initializer /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:170: error: ‘VID_HARDWARE_PWC’ undeclared here (not in a function) /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:172: warning: initialization from incompatible pointer type /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1019: warning: ‘struct class_device’ declared inside parameter list /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1019: warning: its scope is only this definition or declaration, which is probably not what you want /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘cd_to_pwc’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1021: warning: initialization from incompatible pointer type /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: At top level: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1025: warning: ‘struct class_device’ declared inside parameter list /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘show_pan_tilt’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1027: warning: passing argument 1 of ‘cd_to_pwc’ from incompatible pointer type /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1019: note: expected ‘struct class_device *’ but argument is of type ‘struct class_device *’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: At top level: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1032: warning: ‘struct class_device’ declared inside parameter list /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘store_pan_tilt’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1034: warning: passing argument 1 of ‘cd_to_pwc’ from incompatible pointer type /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1019: note: expected ‘struct class_device *’ but argument is of type ‘struct class_device *’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: At top level: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1048: error: expected ‘)’ before ‘(’ token /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1051: warning: ‘struct class_device’ declared inside parameter list /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘show_snapshot_button_status’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1053: warning: passing argument 1 of ‘cd_to_pwc’ from incompatible pointer type /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1019: note: expected ‘struct class_device *’ but argument is of type ‘struct class_device *’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: At top level: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1059: error: expected ‘)’ before ‘(’ token /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_create_sysfs_files’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1067: error: implicit declaration of function ‘video_device_create_file’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1067: error: ‘class_device_attr_button’ undeclared (first use in this function) /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1067: error: (Each undeclared identifier is reported only once /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1067: error: for each function it appears in.) /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1071: error: ‘class_device_attr_pan_tilt’ undeclared (first use in this function) /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1078: error: implicit declaration of function ‘video_device_remove_file’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_remove_sysfs_files’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1087: error: ‘class_device_attr_pan_tilt’ undeclared (first use in this function) /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1088: error: ‘class_device_attr_button’ undeclared (first use in this function) /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_video_open’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1132: error: ‘struct video_device’ has no member named ‘priv’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_video_close’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1245: error: ‘struct video_device’ has no member named ‘priv’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_video_read’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1306: error: ‘struct video_device’ has no member named ‘priv’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_video_poll’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1373: error: ‘struct video_device’ has no member named ‘priv’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_video_ioctl’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1389: error: implicit declaration of function ‘video_usercopy’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘pwc_video_mmap’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1402: error: ‘struct video_device’ has no member named ‘priv’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c: In function ‘usb_pwc_probe’: /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1752: error: incompatible types when assigning to type ‘struct device’ from type ‘struct device *’ /home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.c:1754: error: ‘struct video_device’ has no member named ‘owner’ make[2]: *** [/home/ariel/sources/pwc-v4l2-20090629-042701/pwc-if.o] Error 1 make[1]: *** [_module_/home/ariel/sources/pwc-v4l2-20090629-042701] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic' make: *** [all] Error 2 It's similar to what happened in http://www.mail-archive.com/[email protected]/msg00715.html ("Ubuntu 8.10 vs. PCW vs. SPC900NC/00", Brynjar S. Larssen, 23 Nov 2008). I downloaded the complete kernel sources but the semaphore.h there is the same file that came with the headers package. What now? This is beyond my knowledge of the vl4 architecture. PS: the reason I downloaded the snapshot in the first place is that v4l2 times out in all applications. My webcam is a Logitech Quickcam Pro for Notebooks (old model, 046d:08b1). This is an example with mplayer: $ mplayer -tv driver=v4l2:fps=15 tv:// MPlayer SVN-r29375-4.4.1 (C) 2000-2009 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing tv://. TV file format detected. Selected driver: v4l2 name: Video 4 Linux 2 input author: Martin Olschewski <[email protected]> comment: first try, more to come ;-) Selected device: Logitech QuickCam Notebook Pro Capabilites: video capture read/write streaming supported norms: 0 = webcam; inputs: 0 = usb; Current input: 0 Current format: YUV420 v4l2: ioctl set format failed: Invalid argument tv.c: norm_from_string(pal): Bogus norm parameter, setting default. Selected input hasn't got a tuner! v4l2: Cannot get fps v4l2: ioctl set mute failed: Invalid argument v4l2: ioctl query control failed: Invalid argument open: No such file or directory [MGA] Couldn't open: /dev/mga_vid open: No such file or directory [MGA] Couldn't open: /dev/mga_vid [VO_TDFXFB] Can't open /dev/fb0: No such file or directory. [VO_3DFX] Unable to open /dev/3dfx. ========================================================================== Opening video decoder: [raw] RAW Uncompressed Video VDec: vo config request - 640 x 480 (preferred colorspace: Planar I420) VDec: using Planar I420 as output csp (no 0) Movie-Aspect is undefined - no prescaling applied. VO: [xv] 640x480 => 640x480 Planar I420 Selected video codec: [rawi420] vfm: raw (RAW I420) ========================================================================== Audio: no sound Starting playback... v4l2: select timeout v4l2: select timeout ??% ??,?% 0 0 v4l2: select timeout ??% ??,?% 0 0 v4l2: select timeout ??% ??,?% 0 0 Best regards, Ariel Cornejo _______________________________________________ pwc mailing list [email protected] http://lists.saillard.org/mailman/listinfo/pwc
