Under the current 2.6.36.x kernels, the em8300 modules no longer compile, despite the "em8300-modules-0.18.0-2.6.35.patch" patch. It seems that there had been some changes in the i2c API, since gcc reports errors like /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.c:357: Fehler: Zu wenige Argumente für Funktion »i2c_new_probed_device« i.e. too less arguments of function "i2c_new_probed_device" and also other i2c functions. This also happens with version 0.17.4. These modules are pulled in by mplayer with the use flag "X" set. Reproducible: Always Steps to Reproduce: 1.emerge em8300-modules-0.18.0 Actual Results: emerge did not succeed. Expected Results: It should compile. stefan stefan # emerge --info =media-video/em8300-modules-0.18.0 Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.4, glibc-2.11.2-r3, 2.6.36.2 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.36.2-x86_64-Intel-R-_Xeon-TM-_CPU_3.20GHz-with-gentoo-2.0.1 Timestamp of tree: Thu, 30 Dec 2010 16:45:01 +0000 ccache version 2.4 [disabled] app-shells/bash: 4.1_p7 dev-java/java-config: 2.1.11-r1 dev-lang/python: 2.6.5-r3, 3.1.3 dev-util/ccache: 2.4-r9 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.13, 2.65-r1 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.4.4-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.10 sys-devel/make: 3.81-r2 virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/openvpn/easy-rsa /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/" LANG="de_DE.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="de en fr es" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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="/var/lib/layman/desktop-effects /var/lib/layman/games /var/lib/layman/hawking /var/lib/layman/java-overlay /var/lib/layman/kde /var/lib/layman/lisp /var/lib/layman/multimedia /var/lib/layman/science /var/lib/layman/thousand-parsec /var/lib/layman/turbogears2 /var/lib/layman/vmware /var/lib/layman/n4g /usr/local/portage" SYNC="rsync://rsync11.de.gentoo.org/gentoo-portage" USE="3dnow X a52 aac aalib acl alsa amd64 arts asf berkdb bzip2 cairo cddb cdparanoia cdr cli consolekit cracklib crypt css cups cxx dbus device-mapper dri dv dvb dvd dvdr emerald evo extras faac faad fam ffmpeg firefox flac fontconfig fortran gcj gdbm gdu gif glitz gnome gpm gstreamer gtk hal handbook iconv ieee1394 imap ipv6 java joystick jpeg jpeg2k kde kontact kpathsea lame libnotify lirc mad mikmod mjpeg mmx mmxext mng modules mono mp3 mp4 mplayer mudflap multilib mysql ncurses networkmanager new-login nls nptl nptlonly nsplugin nvidia ogg opengl openmp pam pcre pdf perl png pnm policykit pop pppd pvr python qt3 qt3support qt4 quicktime readline reflection samba sasl sdl semantic-desktop session spell spl sql sqlite sse sse2 ssl ssse3 svg symlink sysfs tcpd theora threads tiff timidity transcode truetype twolame udev unicode v4l v4l2 vcd video vorbis webkit wxwidgets x264 xcb xcomposite xinerama xml xorg xscreensaver xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en fr es" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ------------------------------- stefan temp # cat build.log * CPV: media-video/em8300-modules-0.18.0 * REPO: gentoo * USE: amd64 elibc_glibc kernel_linux multilib userland_GNU * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/2.6.36.2/build * Found sources for kernel version: * 2.6.36.2 * Checking for suitable kernel configuration options... [ ok ] >>> Unpacking source... >>> Unpacking em8300-0.18.0.tar.gz to /var/tmp/portage/media-video/em8300-modules-0.18.0/work >>> Source unpacked in /var/tmp/portage/media-video/em8300-modules-0.18.0/work >>> Preparing source in /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules ... * Applying em8300-modules-0.18.0-2.6.35.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules ... >>> Source configured. >>> Compiling source in /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules ... make -j5 KERNEL_LOCATION=/usr/src/linux [ ! -x ./update_em8300_version.sh ] || ./update_em8300_version.sh em8300_version.h make -C /usr/src/linux SUBDIRS=/var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules modules make[1]: Entering directory `/usr/src/linux-2.6.36.2' CC [M] /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/adv717x.o CC [M] /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/bt865.o CC [M] /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_main.o CC [M] /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.o CC [M] /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_audio.o /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.c: In Funktion »em8300_i2c_init1«: /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.c:357: Fehler: Zu wenige Argumente für Funktion »i2c_new_probed_device« /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.c: In Funktion »em8300_i2c_init2«: /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.c:428: Fehler: Zu wenige Argumente für Funktion »i2c_new_probed_device« /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.c:432: Fehler: Zu wenige Argumente für Funktion »i2c_new_probed_device« /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/adv717x.c:137: Fehler: »param_ops_output_mode_t« ist hier nicht deklariert (nicht in einer Funktion) make[2]: *** [/var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_i2c.o] Fehler 1 make[2]: *** Warte auf noch nicht beendete Prozesse... make[2]: *** [/var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/adv717x.o] Fehler 1 /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/bt865.c:91: Fehler: »param_ops_output_mode_t« ist hier nicht deklariert (nicht in einer Funktion) make[2]: *** [/var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/bt865.o] Fehler 1 /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_main.c:484: Fehler: unbekanntes Feld »ioctl« in Initialisierung angegeben /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_main.c:484: Warnung: Initialisierung von inkompatiblem Zeigertyp /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_main.c:587: Fehler: unbekanntes Feld »ioctl« in Initialisierung angegeben /var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_main.c:587: Warnung: Initialisierung von inkompatiblem Zeigertyp make[2]: *** [/var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules/em8300_main.o] Fehler 1 make[1]: *** [_module_/var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules] Fehler 2 make[1]: Leaving directory `/usr/src/linux-2.6.36.2' make: *** [build] Fehler 2 * ERROR: media-video/em8300-modules-0.18.0 failed: * (no error message) * * Call stack: * ebuild.sh, line 54: Called src_compile * environment, line 3579: Called die * The specific snippet of code: * emake KERNEL_LOCATION="${KERNEL_DIR}" || die * * If you need support, post the output of 'emerge --info =media-video/em8300-modules-0.18.0', * the complete build log and the output of 'emerge -pqv =media-video/em8300-modules-0.18.0'. * The complete build log is located at '/var/tmp/portage/media-video/em8300-modules-0.18.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/media-video/em8300-modules-0.18.0/temp/environment'. * S: '/var/tmp/portage/media-video/em8300-modules-0.18.0/work/em8300-0.18.0/modules' --------------------
Same error here on x86 platform with kernel 2.6.37r4, any news on how to solve it ?
Please don't just add the x86 arch team because you see a bug on your x86 machine. The archteam does keywording, not package maintainig. You should never add any arch aliases yourself.
Just adding my 2 cents to help this bug move along... From what I understand, the reason em8300 is failing on modern kernels is their lack of V4L1 support. The project at http://dxr3.sourceforge.net/ has been inactive for over 3 years now, but fortunately there is a new project at https://github.com/austriancoder/v4l2-em8300 which is working on updating the program to support V4L2. Notes also indicate at least one of the 3 modules is going into the mainline kernel. Perhaps this information will help drive this bug forward a bit. BTW, I think https://bugs.gentoo.org/show_bug.cgi?id=365971 is a duplicate.
*** Bug 365971 has been marked as a duplicate of this bug. ***
V4L2 work in progress: https://github.com/austriancoder/v4l2-em8300
I think vdr people should be involved here. So if we go about removing em8300-libraries, em8300-modules, vdr-dxr3 and dxr3config. Then removing USE="dxr3" from every package, for now I've masked it in base/use.mask pending on if someone is willing to work on this.
I've emailed the developer for the current driver project. If I learn anything I'll post it here.
Hi all, let me introduce myself. I am a long time gentoo user (about 7 to 8 years) and I am the guy how wants to get the em8300 driver into mainline. I have cleaned up lot of code from the original driver but the hardest part is still left... the move to vb2. But... I have an other solution for this problem :) https://github.com/austriancoder/em8300 For me the driver compiles fine on 3.1.0-rc8. So if it is wanted I could release a new version of the em8300 driver, which supports newer kernels.
At this time I can only confirm that the modules do indeed build and load into the kernel correctly. I'll try to do some further testing to see how they work and put my old DXR3 card to some use. I'll also attach some ebuilds if anyone else wants to do some testing.
Created attachment 288983 [details] media-video/em8300-modules-9999.ebuild
Created attachment 288985 [details] media-video/em8300-libraries-9999.ebuild
Any chance you could tag a release in github so we can supply pinpointed version in testing? I don't like live ebuilds in portage... while they are fine for bugzilla, overlays, forums, etc
Hi all, In the hg repository of the dxr3 driver [1] does support 3.0 kernels now. A new version should be released soon. My github repository will removed as it is not needed any more. [1] http://dxr3.hg.sourceforge.net/hgweb/dxr3/em8300/
Created attachment 304169 [details] em8300-libraries ebuild
Created attachment 304171 [details] em8300-modules ebuild
I apologize for the delay. The repository moved, and there was need of some more development. But the current commit builds with 3.2 series kernels. I just tested it on 3.2.6 and it builds fine. Hopefully this will get the dxr3 support working again for everyone who needs it.
added pmasked to the tree em8300-libraries-0.18.0_p20120124 em8300-modules-0.18.0_p20120124 the libraries compiles fine but i have problems to compile the module Kernel = vanilla-sources-3.2.9 <snipp> CC [M] /home/brummy/.tmp/portage/media-video/em8300-modules-0.18.0_p20120124/work/em8300-0.18.0_p20120124/modules/em8300_main.o /home/brummy/.tmp/portage/media-video/em8300-modules-0.18.0_p20120124/work/em8300-0.18.0_p20120124/modules/em8300_main.c:73:2: Fehler: #error "This needs the I2C Bit Banging Interface in your Kernel" </snapp> I dont know what i have to to enable/disable in the kernel to get it work on compile. this is what i have enabled in the moment. <snipp .config> CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_I801=m </snapp> CONFIG_CHECK="I2C_ALGOBIT" is commented in the ebuild, bcs. there is no I2C_ALGOBIT in the kernel 3.2.9 anymore and it fails in the prepare check any hints?
> > CONFIG_CHECK="I2C_ALGOBIT" > is commented in the ebuild, bcs. there is no I2C_ALGOBIT in the kernel 3.2.9 > anymore > and it fails in the prepare check grr, found it it was disabled, will test the module ebuild later again
unmasked in pmask em8300-libraries-0.18.0_p20120124 em8300-modules-0.18.0_p20120124 disabled the hg test for versioning this needs a mercurial install on user system on my localtest both packages compiles like a charm anyway, i dont have the hardware to test it finaly
I think this was closed prematurarely as profiles/ is still unhandled for the restoration of USE="dxr3" which used to be unmasked on the arches em8300-librararies is keyworded for, amd64, ppc and x86
*** Bug 413391 has been marked as a duplicate of this bug. ***