Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 252553 - media-video/linux-uvc-0.1.0_pre250 / kernel-2.6.28 - linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: error: too many arguments to function ‘v4l_compat_translate_ioctl’
Summary: media-video/linux-uvc-0.1.0_pre250 / kernel-2.6.28 - linux-uvc-0.1.0_pre250/u...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
: 305379 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-12-26 02:02 UTC by Paul Philippov
Modified: 2011-04-28 15:59 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Philippov 2008-12-26 02:02:35 UTC
>>> Emerging (1 of 2) media-video/linux-uvc-0.1.0_pre250
 * linux-uvc-0.1.0_pre250.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                               [ ok ]
 * checking ebuild checksums ;-) ...                                                                                            [ ok ]
 * checking auxfile checksums ;-) ...                                                                                           [ ok ]
 * checking miscfile checksums ;-) ...                                                                                          [ ok ]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     2.6.28-gentoo-latitude-1
 * Checking for suitable kernel configuration options...                                                                         [ ok ]
>>> Unpacking source...
>>> Unpacking linux-uvc-0.1.0_pre250.tar.bz2 to /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250 ...
ln: creating symbolic link `Module.symvers': File exists
 * Preparing uvcvideo module
make HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= KERNEL_DIR=/usr/src/linux 
Building USB Video Class driver...
make[1]: Entering directory `/usr/src/linux-2.6.28-gentoo'
  CC [M]  /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_driver.o
  CC [M]  /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_queue.o
  CC [M]  /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.o
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c: In function ‘uvc_v4l2_do_ioctl’:
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: warning: passing argument 1 of ‘v4l_compat_translate_ioctl’ from incompatible pointer type
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: warning: passing argument 2 of ‘v4l_compat_translate_ioctl’ makes integer from pointer without a cast
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: warning: passing argument 3 of ‘v4l_compat_translate_ioctl’ makes pointer from integer without a cast
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: error: too many arguments to function ‘v4l_compat_translate_ioctl’
make[2]: *** [/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.o] Error 1
make[1]: *** [_module_/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.28-gentoo'
make: *** [uvcvideo] Error 2
 * 
 * ERROR: media-video/linux-uvc-0.1.0_pre250 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3214:  Called linux-mod_src_compile
 *             environment, line 2482:  Called die
 * The specific snippet of code:
 *               eval "emake HOSTCC="$(tc-getBUILD_CC)" 						CROSS_COMPILE=${CHOST}- 	LDFLAGS="$(get_abi_LDFLAGS)" 						${BUILD_FIXES} 						${BUILD_PARAMS} 						${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 *  The die message:
 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=  KERNEL_DIR=/usr/src/linux  
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/temp/environment'.
 * 

>>> Failed to emerge media-video/linux-uvc-0.1.0_pre250, Log file:

>>>  '/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/temp/build.log'
Comment 1 Thomas Pani 2008-12-26 12:18:57 UTC
UVC is in mainline kernel since 2.6.26 (CONFIG_USB_VIDEO_CLASS)
Comment 2 Franck ROYER 2008-12-29 18:25:51 UTC
I have the same problem.

And the uvc in the kernel doesn't work with my isight webcam, that why I use the uvc from portage.
Comment 3 Thomas Pani 2008-12-29 21:53:06 UTC
(In reply to comment #2)
> And the uvc in the kernel doesn't work with my isight webcam, that why I use
> the uvc from portage.
That's strange, the isight driver itself hasn't been modified since 8 months.
Comment 4 Alessandro Rosetti 2009-01-09 13:41:09 UTC
here is the patch to uvc_v4l2.c:

-      if ((ret = v4l_compat_translate_ioctl(inode, file, cmd, arg,
-         uvc_v4l2_do_ioctl)) == -ENOIOCTLCMD)
+      if ((ret = v4l_compat_translate_ioctl(file, cmd, arg,
+         __uvc_v4l2_do_ioctl)) == -ENOIOCTLCMD)
          uvc_trace(UVC_TRACE_IOCTL, "Unknown ioctl 0x%08x\n",
               cmd);
Comment 5 Alessandro Rosetti 2009-01-09 16:56:05 UTC
Excuse me ^^'' I haven't tested it. There are some other patches to apply.
Now my webcam works. 

Copy *c && *h from /usr/src/linux/drivers/media/video/uvc/
to /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/

and run make && make install.
Comment 6 Daniel Drake (RETIRED) gentoo-dev 2009-01-09 17:16:05 UTC
This package doesn't have an active maintainer and is not in the stable tree.

If there is a driver in the kernel which looks like it supports your device but it doesn't work then you are advised to file a kernel bug.
Comment 7 Alessandro Rosetti 2009-01-09 17:38:25 UTC
(In reply to comment #6)
> This package doesn't have an active maintainer and is not in the stable tree.
> 
> If there is a driver in the kernel which looks like it supports your device but
> it doesn't work then you are advised to file a kernel bug.
> 

uvc from 2.6.28 sources works perfectly on my dell vostro 1310. 
Comment 8 Giorgio Pretto 2009-02-18 02:22:30 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > This package doesn't have an active maintainer and is not in the stable tree.
> > 
> > If there is a driver in the kernel which looks like it supports your device but
> > it doesn't work then you are advised to file a kernel bug.
> > 
> 
> uvc from 2.6.28 sources works perfectly on my dell vostro 1310. 
> 

To me they aren't working, before reding here i was always including them in the kernel AND installing them form portage..

on my amd64 box i have a Logitech ultra vision webcam, that used to work and now with only the kernel driver it doesn't

i'm using 2.6.28-r1 as kernel

in the next days i'm going to try the new r2(In reply to comment #7)
> (In reply to comment #6)
> > This package doesn't have an active maintainer and is not in the stable tree.
> > 
> > If there is a driver in the kernel which looks like it supports your device but
> > it doesn't work then you are advised to file a kernel bug.
> > 
> 
> uvc from 2.6.28 sources works perfectly on my dell vostro 1310. 
> 

I'm using kernel 2.6.28-r1, and the kernel driver doesn't work for my Logitech vision Ultra, that used to function before with the portage drivers.
installing the drivers i got the same error reported in this bug.
Comment 9 Pacho Ramos gentoo-dev 2009-02-18 07:58:47 UTC
Send a bug report to bugzilla.kernel.org then
Comment 10 Giorgio Pretto 2009-02-18 19:12:57 UTC
I've just upgraded to kernel 2.6.28-r2, and now it works.
(in the meanwhile i've also recompiled ati-drivers if that can matter.)
Comment 11 Milos Ivanovic 2009-03-05 10:43:14 UTC
I have the same problem on ~x86:

 [32;01m*[0m Determining the location of the kernel source code
 [32;01m*[0m Found kernel source directory:
 [32;01m*[0m     /usr/src/linux
 [32;01m*[0m Found kernel object directory:
 [32;01m*[0m     /lib/modules/2.6.28-gentoo-r2/build
 [32;01m*[0m Found sources for kernel version:
 [32;01m*[0m     2.6.28-gentoo-r2
 [32;01m*[0m Checking for suitable kernel configuration options...
[A[149C  [34;01m[ [32;01mok[34;01m ][0m
>>> Unpacking source...
>>> Unpacking linux-uvc-0.1.0_pre250.tar.bz2 to /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work
>>> Source unpacked in /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work
>>> Compiling source in /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250 ...
ln: creating symbolic link `Module.symvers': File exists
 [32;01m*[0m Preparing uvcvideo module
make -j2 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KERNEL_DIR=/usr/src/linux 
Building USB Video Class driver...
make[1]: Entering directory `/usr/src/linux-2.6.28-gentoo-r2'
make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
  CC [M]  /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_driver.o
  CC [M]  /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_queue.o
  CC [M]  /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.o
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c: In function 'uvc_v4l2_do_ioctl':
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: warning: passing argument 1 of 'v4l_compat_translate_ioctl' from incompatible pointer type
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: warning: passing argument 2 of 'v4l_compat_translate_ioctl' makes integer from pointer without a cast
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: warning: passing argument 3 of 'v4l_compat_translate_ioctl' makes pointer from integer without a cast
/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.c:989: error: too many arguments to function 'v4l_compat_translate_ioctl'
make[2]: *** [/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_v4l2.o] Error 1
make[1]: *** [_module_/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.28-gentoo-r2'
make: *** [uvcvideo] Error 2
 [31;01m*[0m 
 [31;01m*[0m ERROR: media-video/linux-uvc-0.1.0_pre250 failed.
 [31;01m*[0m Call stack:
 [31;01m*[0m               ebuild.sh, line   49:  Called src_compile
 [31;01m*[0m             environment, line 3174:  Called linux-mod_src_compile
 [31;01m*[0m             environment, line 2433:  Called die
 [31;01m*[0m The specific snippet of code:
 [31;01m*[0m               eval "emake HOSTCC="$(tc-getBUILD_CC)" 						CROSS_COMPILE=${CHOST}- 						LDFLAGS="$(get_abi_LDFLAGS)" 						${BUILD_FIXES} 						${BUILD_PARAMS} 						${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 [31;01m*[0m  The die message:
 [31;01m*[0m   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  KERNEL_DIR=/usr/src/linux  
 [31;01m*[0m 
 [31;01m*[0m If you need support, post the topmost build error, and the call stack if relevant.
 [31;01m*[0m A complete build log is located at '/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/temp/environment'.
 [31;01m*[0m 

I have it Video 4 Linux compiled as a module, because it didn't allow me to compile it into the kernel. It only did [m]:

CONFIG_USB_VIDEO_CLASS=m

Any ideas?
Comment 12 Patrick Green 2009-05-12 21:20:47 UTC
I have the same problem.  I am running the 2.6.28-r5 kernel and 4.3.2 GCC.  I have verified that the package supports my webcam.  I have looked over the build logs for the package and have come to the conclusion that the problem is somewhere within the tree.  It acts as if there is a missing dependency(or at least a missing function call somewhere).  Anyone else see that issue?
Comment 13 Dug Stokes 2009-11-22 01:30:46 UTC
 * Messages for package media-video/linux-uvc-0.1.0_pre250:

 * 
 * ERROR: media-video/linux-uvc-0.1.0_pre250 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3393:  Called linux-mod_src_compile
 *             environment, line 2633:  Called die
 * The specific snippet of code:
 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" 			CROSS_COMPILE=${CHOST}- 						LDFLAGS=\"$(get_abi_LDFLAGS)\" 						${BUILD_FIXES} 		${BUILD_PARAMS} 						${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 *  The die message:
 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  KERNEL_DIR=/usr/src/linux  
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/temp/environment'.


Same problem on 2.6.31-gentoo-r4 #3 SMP with linux-uvc-0.1.0_pre250
Comment 14 Dug Stokes 2009-11-22 02:44:36 UTC
(In reply to comment #11)
> I have it Video 4 Linux compiled as a module, because it didn't allow me to
> compile it into the kernel. It only did [m]:
> 
> CONFIG_USB_VIDEO_CLASS=m
> 
> Any ideas?
> 

with CONFIG_USB_VIDEO_CLASS=m it should compile uvcvideo - I was able to modprobe uvcvideo after doing it and my webcam now works, I'm still unable to compile this package though.
Comment 15 letrec@gmail.com 2009-11-30 13:53:39 UTC
n: creating symbolic link `Module.symvers': File exists
 * Preparing uvcvideo module
make -j5 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= KERNEL_DIR=/usr/src/linux 
Building USB Video Class driver...
make[1]: Entering directory `/usr/src/linux-2.6.30-gentoo-r5'
make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
  CC [M]  /var/tmp/portage/media-video/linux-uvc-0.1.0_pre250/work/linux-uvc-0.1.0_pre250/uvc_driver.o
....


Similar errors as I have module built in kernel. Shouldn't there just be a build time USE flag to build tools and not the kernel module? How else am I supposed to get the uvc tools ?
Comment 16 Pascal B 2009-12-12 15:51:07 UTC
I don't know if my solution is also valid for your problem. I'm using the Logitec Webcam QuickCam. (lsusb: Bus 001 Device 002: ID 046d:09a1 Logitech, Inc. QuickCam Communicate MP/S5500). After updating o kernel version 2.6.31-gentoo-r6 it it stopped working. I had from previous configurations the gentoo-packet linux-uvc installed.
Trying to reemerge the package (media-video/linux-uvc-0.1.0_pre250) the following error appeared:
 
eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" 			CROSS_COMPILE=${CHOST}- 						LDFLAGS=\"$(get_abi_LDFLAGS)\" 						${BUILD_FIXES} 		${BUILD_PARAMS} 						${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 *  The die message:
 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  KERNEL_DIR=/usr/src/linux

However, with my system it worked to unmerge linux-uvc and activate the following kernel items:
Device Driver-> Multimedia support -> 
‣ <M> Video For Linux
• [*] Enable Video For Linux AP 1 compatible Layer
‣ [*] Video capture adapters
• [*] Autoselect ... can this be deactivated?
• [*] V4L USB devices
∘ <M> USB Viedo Class (UVC)
‣ [*] UVC input events device support

Afterwards I could load the modules and the webcam worked fine.: 
modprobe videodev
modprobe v4l1_compat
modprobe v4l2_common
modprobe uvcvideo
Comment 17 Thomas Sachau gentoo-dev 2010-03-12 14:53:36 UTC
*** Bug 305379 has been marked as a duplicate of this bug. ***
Comment 18 Samuli Suominen (RETIRED) gentoo-dev 2011-04-28 15:59:12 UTC
Removed from tree.   Use the in-kernel drivers.