Hrm. I just upgraded Xorg, but for the first time in a long time xf86-video-intel fails to compile. I'm running gentoo-sources-2.6.30-r5 and linux-headers-2.6.30-r1 . Note that I found an old reference to this problem being fixed in an unreleased version of the driver here: http://www.gossamer-threads.com/lists/ivtv/users/39709 , so perhaps a patch is needed? >>> Emerging (3 of 3) x11-drivers/xf86-video-ivtv-1.0.1 * xf86-video-ivtv-1.0.1.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking xf86-video-ivtv-1.0.1.tar.gz to /opt/tmp/portage/portage/x11-drivers/xf86-video-ivtv-1.0.1/work * Running elibtoolize in: xf86-video-ivtv-1.0.1 * Applying install-sh-1.5.4.patch ... * Applying portage-1.5.10.patch ... * Applying sed-1.5.6.patch ... * Applying as-needed-1.5.patch ... >>> Source unpacked in /opt/tmp/portage/portage/x11-drivers/xf86-video-ivtv-1.0.1/work >>> Compiling source in /opt/tmp/portage/portage/x11-drivers/xf86-video-ivtv-1.0.1/work/xf86-video-ivtv-1.0.1 ... * econf: updating xf86-video-ivtv-1.0.1/config.guess with /usr/share/gnuconfig/config.guess * econf: updating xf86-video-ivtv-1.0.1/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/i nfo --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr --datadir=/usr/share checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for style of include used by make... GNU checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking dependency style of i686-pc-linux-gnu-gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ld used by i686-pc-linux-gnu-gcc... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognize dependent libraries... pass_all checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking dependency style of i686-pc-linux-gnu-g++... gcc3 checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E checking for i686-pc-linux-gnu-g77... no checking for i686-pc-linux-gnu-xlf... no checking for i686-pc-linux-gnu-f77... no checking for i686-pc-linux-gnu-frt... no checking for i686-pc-linux-gnu-pgf77... no checking for i686-pc-linux-gnu-cf77... no checking for i686-pc-linux-gnu-fort77... no checking for i686-pc-linux-gnu-fl32... no checking for i686-pc-linux-gnu-af77... no checking for i686-pc-linux-gnu-xlf90... no checking for i686-pc-linux-gnu-f90... no checking for i686-pc-linux-gnu-pgf90... no checking for i686-pc-linux-gnu-pghpf... no checking for i686-pc-linux-gnu-epcf90... no checking for i686-pc-linux-gnu-gfortran... no checking for i686-pc-linux-gnu-g95... no checking for i686-pc-linux-gnu-xlf95... no checking for i686-pc-linux-gnu-f95... no checking for i686-pc-linux-gnu-fort... no checking for i686-pc-linux-gnu-ifort... no checking for i686-pc-linux-gnu-ifc... no checking for i686-pc-linux-gnu-efc... no checking for i686-pc-linux-gnu-pgf95... no checking for i686-pc-linux-gnu-lf95... no checking for i686-pc-linux-gnu-ftn... no checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... no checking for g95... no checking for xlf95... no checking for f95... no checking for fort... no checking for ifort... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for ftn... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 1572864 checking command to parse /usr/bin/nm -B output from i686-pc-linux-gnu-gcc object... ok checking for objdir... .libs checking for i686-pc-linux-gnu-ar... i686-pc-linux-gnu-ar checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC checking if i686-pc-linux-gnu-gcc PIC flag -fPIC works... yes checking if i686-pc-linux-gnu-gcc static flag -static works... yes checking if i686-pc-linux-gnu-gcc supports -c -o file.o... yes checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by i686-pc-linux-gnu-g++... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking for i686-pc-linux-gnu-g++ option to produce PIC... -fPIC checking if i686-pc-linux-gnu-g++ PIC flag -fPIC works... yes checking if i686-pc-linux-gnu-g++ static flag -static works... yes checking if i686-pc-linux-gnu-g++ supports -c -o file.o... yes checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking for i686-pc-linux-gnu-gcc... (cached) i686-pc-linux-gnu-gcc checking whether we are using the GNU C compiler... (cached) yes checking whether i686-pc-linux-gnu-gcc accepts -g... (cached) yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed checking dependency style of i686-pc-linux-gnu-gcc... (cached) gcc3 checking for i686-pc-linux-gnu-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for XORG... yes checking if RANDR is defined... yes checking if RENDER is defined... yes checking if XSERVER_LIBPCIACCESS is defined... yes checking if XV is defined... yes checking whether XSERVER_LIBPCIACCESS is declared... yes checking for PCIACCESS... yes checking for ANSI C header files... (cached) yes configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating config.h config.status: executing depfiles commands make -j1 make all-recursive make[1]: Entering directory `/opt/tmp/portage/portage/x11-drivers/xf86-video-ivtv-1.0.1/work/xf86-video-ivtv-1.0.1' Making all in src make[2]: Entering directory `/opt/tmp/portage/portage/x11-drivers/xf86-video-ivtv-1.0.1/work/xf86-video-ivtv-1.0.1/src' /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg -I/usr/i nclude/pixman-1 -march=athlon-xp -O2 -pipe -ggdb -I/usr/src/linux/include -MT ivtv.lo -MD -MP -MF .deps/ivtv.Tpo -c -o iv tv.lo ivtv.c mkdir .libs i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg -I/usr/include/pixman-1 -march=athlon-xp -O2 -pipe -ggd b -I/usr/src/linux/include -MT ivtv.lo -MD -MP -MF .deps/ivtv.Tpo -c ivtv.c -fPIC -DPIC -o .libs/ivtv.o mv -f .deps/ivtv.Tpo .deps/ivtv.Plo /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg -I/usr/i nclude/pixman-1 -march=athlon-xp -O2 -pipe -ggdb -I/usr/src/linux/include -MT ivtv_hw.lo -MD -MP -MF .deps/ivtv_hw.Tpo -c -o ivtv_hw.lo ivtv_hw.c i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg -I/usr/include/pixman-1 -march=athlon-xp -O2 -pipe -ggd b -I/usr/src/linux/include -MT ivtv_hw.lo -MD -MP -MF .deps/ivtv_hw.Tpo -c ivtv_hw.c -fPIC -DPIC -o .libs/ivtv_hw.o ivtv_hw.c:57:55: error: asm/page.h: No such file or directory make[2]: *** [ivtv_hw.lo] Error 1 make[2]: Leaving directory `/opt/tmp/portage/portage/x11-drivers/xf86-video-ivtv-1.0.1/work/xf86-video-ivtv-1.0.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/tmp/portage/portage/x11-drivers/xf86-video-ivtv-1.0.1/work/xf86-video-ivtv-1.0.1' make: *** [all] Error 2
Portage 2.1.6.13 (default/linux/x86/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r5 i686) ================================================================= System uname: Linux-2.6.30-gentoo-r5-i686-AMD_Athlon-tm-with-gentoo-1.12.11.1 Timestamp of tree: Fri, 09 Oct 2009 19:30:01 +0000 distcc 3.1 i686-pc-linux-gnu [disabled] ccache version 2.4 [disabled] app-shells/bash: 4.0_p28 dev-lang/python: 2.5.4-r3, 2.6.2-r1 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.4_p6, 1.5, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe -ggdb" 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" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /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/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=athlon-xp -O2 -pipe -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.arcticnetwork.ca/source/ http://gentoo.llarian.net/ http://gentoo.mirrors.tera-byte.com/ http://cudlug.cudenver.edu/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j1" 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="/opt/tmp/portage" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://homeserver-02/gentoo-portage" USE="3dnow 3dnowext X a52 aac acl acpi acpi4linux alsa apache2 audiofile bash-completion berkdb bluetooth branding bzip2 cairo cdparanoia cdr cgi chroot cli consolekit cpudetection cracklib crypt cscope ctype cups curl dba dbus dga dirac dnd dri dts dv dvd dvdr eds emboss encode esd ethereal evms2 evo exif expat faad fam fastcgi fbcon ffmpeg fftw firefox flac font-server foomaticdb force-cgi-redirect freetype gd gdbm ggi gif glut gmp gphoto2 gpm gstreamer gtk hal httpd iconv idn imagemagick inode isdnlog ivtv jdepend joystick jp2 jpeg jpeg2k jsch json junit kde latin1 lcd lcms libnotify lirc live lm_sensorslogrotate loop-aes lzo lzw lzw-tiff mad maildir matroska memlimit mhash mikmod mime mjpeg mmx mmxext mng modules mp2 mp3 mp4 mpeg mpeg2 mpm-worker mysql mythtv na_dd na_icons nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses net network network-cron nls nptl nptlonly numeric offensive ogg opengl optional-tasks oro oscar pam pcap pcre pdf pdo perl php png posix ppds pppd python qt3 qt3support quicktime readline reflection regexp rtc ruby samba sdl session silc slang slp snmp soap sockets spell spl sse ssl startup-notification stream svg svga sysfs tga theora threads thunar tiff tokenizer transcode truetype unicode usb utf8 v4l v4l2 vhosts vim-syntax vlm vorbis win32codecs wmf x264 x86 xalan xchatnogtk xchattext xerces xfs xine xinerama xml xml2 xmlrpc xorg xpm xsl xulrunner xv xvid yahoo yv12 zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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="keyboard mouse joystick evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="hauppauge" USERLAND="GNU" VIDEO_CARDS="vga vesa ivtvdev nv fbdev" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
P.S. Now I'm stuck without a mythfrontend, as X won't start with a module version mismatch. So, I suppose I can try to go back to the old version, but since that'll require masking of stable packages and perhaps digging dropped ebuilds out of CVS, I'm hoping there is a quick fix. :)
Ah, perhaps my kernel is too new now? Odd, as I had the same kernel version before the Xorg upgrade... see http://ivtvdriver.org/index.php/Download#X_Video_Driver Notes that 1.0.2 is out, and that 1.1.0 will use features seen in 2.6.30... which is the kernel I'm running (gentoo-sources-2.6.30-r5). "Version 1.1.0 is also available for testing here. Note that this version hasn't seen much testing so probably shouldn't be used for production systems. The new functionality of this 1.1.0 version doesn't kick in unless you use the bleeding edge ivtv driver or kernel 2.6.30 or up. "
Well, I Got It To Work(tm), but it is a hack. I copied arch/x86/include/asm/page.h to /usr/include/asm/page.h from my kernel source tree, and it compiled, installed, and works with xorg so far.
I'm on it, thanks :)
Hrm. OK, now I get this (with newly emerge'd Xorg-server 1.7.6 and mesa-7.7.1): /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -fvisibility=hidden -I/usr/include/xorg -I/usr/include/pixman-1 -march=athlon-xp -O2 -pipe -ggdb -I/usr/src/linux/include -MT ivtv.lo -MD -MP -MF .deps/ivtv.Tpo -c -o ivtv.lo ivtv.c mkdir .libs i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -fvisibility=hidden -I/usr/include/xorg -I/usr/include/pixman-1 -march=athlon-xp -O2 -pipe -ggdb -I/usr/src/linux/include -MT ivtv.lo -MD -MP -MF .deps/ivtv.Tpo -c ivtv.c -fPIC -DPIC -o .libs/ivtv.o ivtv.c:54:27: error: xf86Resources.h: No such file or directory ivtv.c:55:21: error: xf86RAC.h: No such file or directory ivtv.c: In function 'IVTVDevPreInit': ivtv.c:408: error: 'struct _ScrnInfoRec' has no member named 'racMemFlags' ivtv.c:408: error: 'RAC_FB' undeclared (first use in this function) ivtv.c:408: error: (Each undeclared identifier is reported only once ivtv.c:408: error: for each function it appears in.) ivtv.c:408: error: 'RAC_COLORMAP' undeclared (first use in this function) ivtv.c:408: error: 'RAC_CURSOR' undeclared (first use in this function) ivtv.c:408: error: 'RAC_VIEWPORT' undeclared (first use in this function) ivtv.c:410: error: 'struct _ScrnInfoRec' has no member named 'racIoFlags' ivtv.c:413: error: 'ResExclusive' undeclared (first use in this function) make[2]: *** [ivtv.lo] Error 1 make[2]: Leaving directory `/dev/shm/portage/x11-drivers/xf86-video-ivtv-1.0.1/work/xf86-video-ivtv-1.0.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/dev/shm/portage/x11-drivers/xf86-video-ivtv-1.0.1/work/xf86-video-ivtv-1.0.1' I'm running a find for these two header files.
For finding which files belong to which (not installed) packages, emerge pfl or visit http://www.portagefilelist.de/ Regarding the hearders, the missing definitions are now in /usr/include/xorg/xf86str.h and /usr/include/xorg/xf86RAC.h
Thanks for the tip. My install doesn't have /usr/include/xorg/xf86RAC.h . That portage tool seemed to indicate that file was last seen in xorg-server-1.6.3-901-r2 : http://www.portagefilelist.de/index.php/Special:PFLQuery2?file=%2Fusr%2Finclude%2Fxorg%2Fxf86RAC.h&searchfile=lookup&lookup=file#result
As I said, the missing definitions are now in xf86str.h Also note that version xf86-video-ivtv-1.1.1 claims to fix compilation errors with newer xorg-server.
1.1.1 works. ivtvdriver.org's http server is in a sorry state atm, but just did a copy-and-rename on the 1.0.1 ebuild and that worked. So, it would seem a version bump is needed. :)
1.1.1 stable in main tree 1.1.2 testing and compiles even with xorg-server-1.10