Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 243196 - media-video/gspcav1-20071224: does not compile against kernel >=2.6.27
Summary: media-video/gspcav1-20071224: does not compile against kernel >=2.6.27
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High normal with 1 vote (vote)
Assignee: Mike Doty (RETIRED)
URL:
Whiteboard:
Keywords:
: 253794 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-10-22 10:41 UTC by Stefan Trenker
Modified: 2009-10-25 13:59 UTC (History)
8 users (show)

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


Attachments
Kernel config file (kernel-config-x86-2.6.27-gentoo,60.69 KB, text/plain)
2008-10-22 10:43 UTC, Stefan Trenker
Details
Build environment (environment,120.58 KB, text/plain)
2008-10-22 10:44 UTC, Stefan Trenker
Details
Build log (media-video:gspcav1-20071224:20081022-101235.log,4.09 KB, text/plain)
2008-10-22 10:45 UTC, Stefan Trenker
Details
GSPCAV1 Build log (build.log,4.31 KB, text/plain)
2008-10-24 13:49 UTC, spai
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Trenker 2008-10-22 10:41:07 UTC
emerge =media-video/gspcav1-20071224 fails when it is run against a 2.6.27 kernel.

I know, that "gspca" drivers are now built into 2.6.27, but my "Logitech QuickCam Communicate STX plus" does not work with these gspca drivers. It works perfetly with the gspcav1 driver.

Reproducible: Always

Steps to Reproduce:

Actual Results:  
luis ~ # KERNEL_DIR=/usr/src/linux-2.6.27-gentoo/ emerge -1 gspcav1
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) media-video/gspcav1-20071224 to /
>>> Downloading 'http://gentoo.inode.at/distfiles/gspcav1-20071224.tar.gz'
--2008-10-22 12:12:35--  http://gentoo.inode.at/distfiles/gspcav1-20071224.tar.gz
Connecting to 10.2.2.201:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 214717 (210K) [application/octet-stream]
Saving to: `/usr/portage/distfiles/gspcav1-20071224.tar.gz'

100%[==================================================>] 214,717      452K/s   in 0.5s

2008-10-22 12:12:40 (452 KB/s) - `/usr/portage/distfiles/gspcav1-20071224.tar.gz' saved [214717/214717]

 * checking ebuild checksums ;-) ...                                                  [ ok ]
 * checking auxfile checksums ;-) ...                                                 [ ok ]
 * checking miscfile checksums ;-) ...                                                [ ok ]
 * checking gspcav1-20071224.tar.gz ;-) ...                                           [ ok ]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux-2.6.27-gentoo/
 * Found sources for kernel version:
 *     2.6.27-gentoo
 * Checking for suitable kernel configuration options...                              [ ok ]
>>> Unpacking source...
>>> Unpacking gspcav1-20071224.tar.gz to /var/tmp/portage/media-video/gspcav1-20071224/work
 * Converting gspcav1-20071224/Makefile to use M= instead of SUBDIRS= ...             [ ok ]
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224 ...
 * Preparing gspca module
make -C /usr/src/linux-2.6.27-gentoo/ M=/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224 CC=i686-pc-linux-gnu-gcc modules
make[1]: Entering directory `/usr/src/linux-2.6.27-gentoo'
  CC [M]  /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.o
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:54:27: error: asm/semaphore.h: No such file or directory
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'spca5xx_ioctl':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2463: error: implicit declaration of function 'video_usercopy'
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: At top level:
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2609: error: unknown field 'owner' specified in initializer
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2609: warning: initialization from incompatible pointer type
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2611: error: unknown field 'type' specified in initializer
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'spca50x_create_sysfs':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2769: error: implicit declaration of function 'video_device_create_file'
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2780: error: implicit declaration of function 'video_device_remove_file'
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'spca5xx_probe':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:4301: error: incompatible types in assignment
make[2]: *** [/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.o] Error 1
make[1]: *** [_module_/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27-gentoo'
make: *** [default] Error 2
 *
 * ERROR: media-video/gspcav1-20071224 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3134:  Called linux-mod_src_compile
 *             environment, line 2407:  Called die
 * The specific snippet of code:
 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                                  CC=\"$(get-KERNEL_CC)\"                                          LDFLAGS=\"$(get_abi_LDFLAGS)\"                                              ${BUILD_FIXES}                             ${BUILD_PARAMS}                                          ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 *  The die message:
 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CC=i686-pc-linux-gnu-gcc LDFLAGS=  KERNELDIR=/usr/src/linux-2.6.27-gentoo/ default
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/media-video:gspcav1-20071224:20081022-101235.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-video/gspcav1-20071224/temp/environment'.
 *
luis ~ # 

Expected Results:  
It emerges

luis ~ # emerge --info
Portage 2.1.4.5 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.26-gentoo-r2 i686)
=================================================================
System uname: 2.6.26-gentoo-r2 i686 Intel(R) Pentium(R) M processor 1600MHz
Timestamp of tree: Wed, 22 Oct 2008 10:05:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg ccache cvs distcc distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.inode.at/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="de de-DE de_DE"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac accessibility acl acpi aiglx alsa apache2 arts asf audiofile automount bash-completion berkdb bidi bluetooth bzip2 cairo cddb cdio cdr cgi cli cracklib crypt ctype cups curl dbus dri dv dvb dvd dvdr dvdread emerald encode esd exif fame fbcondecor ffmpeg firefox flac foomatic foomaticdb fortran ftp gd gdbm gif gimp gimpprint glitz gmp gnome gnutls gphoto2 gpm gstreamer gtk hal hdri httpd iconv id3tag idn imagemagick imap imlib ipod ipv6 isdnlog java jpeg kde laptop ldap libgcrypt live logrotate lzo mad matroska mhash midi mjpeg mmap mmx mng modplug mozilla mp3 mp4 mpeg mplayer mudflap mysql ncurses netpbm network nls nptl nptlonly nsplugin oav ogg opengl openmp oss pam pcap pcmcia pcre pda pdf perl php png posix ppds pppd python qt4 quicktime rar rdesktop readline real reflection rtsp ruby samba sasl scanner sdl session shout slp sndfile snmp sockets spell spl sse sse2 ssl stream subtitles svg sysfs syslog tcltk tcpd tetex theora threads tiff tk truetype unicode usb utempter v4l v4l2 vcd vcdx vidix vim-syntax vlm vorbis webdav wifi win32codecs wma wxwindows x264 x86 xine xinerama xml xorg xscreensaver xulrunner xv xvid xvmc zeroconf zlib" ALSA_CARDS="intel8x0 usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="mouse synaptics keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de de-DE de_DE" USERLAND="GNU" VIDEO_CARDS="fbdev radeon ati"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

luis ~ #
Comment 1 Stefan Trenker 2008-10-22 10:43:04 UTC
Created attachment 169390 [details]
Kernel config file
Comment 2 Stefan Trenker 2008-10-22 10:44:37 UTC
Created attachment 169392 [details]
Build environment
Comment 3 Stefan Trenker 2008-10-22 10:45:26 UTC
Created attachment 169394 [details]
Build log
Comment 4 spai 2008-10-24 13:49:17 UTC
Created attachment 169714 [details]
GSPCAV1 Build log

This bug doing not only x86 system, x86_64 too!
Comment 5 Pacho Ramos gentoo-dev 2008-10-26 13:57:15 UTC
Why don't you report to upstream http://bugzilla.kernel.org/ that your camera no longer works ? (yes, I have the same problem and I will report it when I have time)
Comment 6 Pacho Ramos gentoo-dev 2008-10-26 19:40:03 UTC
After installing libv4l and following elog information it works ok :-)
Comment 7 Michele Alzetta 2008-11-09 23:29:43 UTC
(In reply to comment #6)
> After installing libv4l and following elog information it works ok :-)
> 

Well, I installed libv4l but I don't understand how elog information could apply to emerging gspcav1. Anyway, this didn't fix my problem.
Comment 8 Pacho Ramos gentoo-dev 2008-11-10 09:52:34 UTC
(In reply to comment #7)
> Well, I installed libv4l but I don't understand how elog information could
> apply to emerging gspcav1. Anyway, this didn't fix my problem.
> 

libv4l elog infos are for using some camera apps with gspcav2 driver provided by kernel-2.6.27
Comment 9 Stefano Priore 2008-12-26 16:13:59 UTC
Therefore, what is the recommended path to upgrade from version 1 to 2 of gspcav?
Comment 10 Pacho Ramos gentoo-dev 2009-01-05 17:55:09 UTC
(In reply to comment #9)
> Therefore, what is the recommended path to upgrade from version 1 to 2 of
> gspcav?
> 

You have to build the modules when you build your new kernel, with make menuconfig, you have to go to:
Device Drivers  --->
  Multimedia devices  --->
    Video capture adapters  --->
      V4L USB devices  --->
        GSPCA based webcams  --->

and enable proper modules (you can build all of them or try to find proper one looking for idVendor and idProduct from lsusb -v output and using grep in kernel sources for finding it)
Comment 11 Atanas Kamburov 2009-02-05 10:18:02 UTC
Because gspcav1 does not compile on my machine too (amd64, gentoo-sources-2.6.28-r1), I built the kernel gspcav module as Pacho suggests here. Then my cam worked with "mplayer tv://", but not with skype (skype crashed when I started the video). I think this is related to the fact that skype uses v4l1, so I followed the advice here: 

http://forum.sabayonlinux.org/viewtopic.php?f=56&t=15650

and installed libv4l from the ebuild from here:

http://bugs.gentoo.org/show_bug.cgi?id=244918

with the multilib flag on. Now I can preload the 32-bit version of libv4l when starting skype and everything works again.
However, I am aware that this cannot be a permanent solution, because the "official" ebuilds of libv4l do not have a multilib flag at the least.

So how does it look like - will gspcav1 be fixed to compile with newer kernels, or will "multilib" be added to the "official" libv4l ebuilds, or will a miracle happen to keep my cam  working with skype? :-)
Comment 12 Pacho Ramos gentoo-dev 2009-02-05 10:42:44 UTC
I know that current situation is clearly suboptimal, but:
1- gspcav1 won't be fixed for building on kernel 2.6.28 because it's old, upstream seems to no longer support it and it starts to be hard to maintain, while gspcav2 is currently actively maintained by its upstream and should work ok and replace gspcav1 completely

2- In current situation, I think that will be difficult that libv4l multilib ebuild would hit the tree, at least until bug 145737 (that I don't know when could be fixed):
http://bugs.gentoo.org/show_bug.cgi?id=252220#c4

Then, we should wait until bug 244918 get fixed

Sorry for the inconvenience
Comment 13 Pacho Ramos gentoo-dev 2009-02-05 10:47:02 UTC
*** Bug 253794 has been marked as a duplicate of this bug. ***
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2009-10-25 13:59:38 UTC
Removed from tree (bug 159176).