The compile of MythTV 0.18 will fail if xv does not support xrandr. Adding -xrandr to the USE flags does not correct the problem. Reproducible: Always Steps to Reproduce: 1. emerge mythtv Actual Results: ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRSetScreenConfig' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRFreeScreenConfigInfo' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRConfigSizes' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRConfigCurrentConfiguration' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRGetScreenInfo' Expected Results: Compile should complete successfully. If I create a portage overlay with --disable-xrandr in the compile options the ebuild will compile successfully. I do have xv support, just not xrandr. Build should consider the use flag of xrandr.
as always... emerge info....
My apologies, this is my first gentoo bug report. root@mythtv myth # emerge info Portage 2.0.51.19 (default-linux/x86/2005.0/2.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.20-xfs-r3 i686) ================================================================= System uname: 2.4.20-xfs-r3 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.4.3.8p1 Python: dev-lang/python-2.2.3-r1 [2.2.3 (#1, Sep 13 2003, 05:34:42)] distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.2.3-r1 sys-devel/autoconf: 2.59-r4 sys-devel/automake: 1.8.5-r1 sys-devel/binutils: 2.14.90.0.6-r2 sys-devel/libtool: 1.4.3-r1 virtual/os-headers: 2.4.19-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control /var/www/localhost/htdocs//mythweb/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.tucdemonic.org/gentoo/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/ rsync://csociety-ftp.ecn.purdue.edu/pub/gentoo/" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow X alsa apm arts avi berkdb bitmap-fonts bonobo cdr crypt cups dvd emboss encode esd fam flac foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg kde libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg mysql ncurses nls ogg oggvorbis opengl oss pam pdflib perl png postgres python qt quicktime readline samba sdl spell ssl svga tcpd tiff transcode truetype truetype-fonts type1-fonts vorbis xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
I talked to our xorg-x11 guys. No idea how you did this without using the USE="minimal" when building xorg-x11. Which MythTV will not work with the minimal USE flag. Please re-emerge your xorg-x11 without that. And try again.
I'll give you this one. But with no guarentee that it works.
I still dislike this fix because the configure script should detect XRANDR support. provide me with emerge -pv mythtv then provide me with the screen of data that MythTV says it's enabled right when it starts to compile.
mythtv root # emerge -pv mythtv These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] media-tv/mythtv-0.18 +X +alsa (-altivec) +arts -cle266 -debug -directfb -dvb -ieee1394 -jack -joystick -lcd -lirc +nls -nvidia +oggvorbis +opengl +oss +xv 0 kB AND mythtv root # emerge -B mythtv Calculating dependencies ...done! >>> emerge (1 of 1) media-tv/mythtv-0.18 to / >>> md5 files ;-) mythtv-0.16.ebuild >>> md5 files ;-) ChangeLog >>> md5 files ;-) metadata.xml >>> md5 files ;-) mythtv-0.17-r1.ebuild >>> md5 files ;-) mythtv-0.18.ebuild >>> md5 files ;-) files/mythbackend.conf >>> md5 files ;-) files/mythbackend.rc6 >>> md5 files ;-) files/mythfilldatabase.cron >>> md5 files ;-) files/digest-mythtv-0.17-r1 >>> md5 files ;-) files/digest-mythtv-0.18 >>> md5 files ;-) files/digest-mythtv-0.16 >>> md5 files ;-) files/mythtv-0.17-qt334-dst-fix.patch >>> md5 files ;-) files/mythtv-0.16-cx88.patch >>> md5 src_uri ;-) mythtv-0.18.tar.bz2 >>> Unpacking source... true >>> Unpacking mythtv-0.18.tar.bz2 to /var/tmp/portage/mythtv-0.18/work >>> Source unpacked. ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-mmx --disable-altivec --enable-audio-oss --enable-audio-alsa --enable-audio-arts --disable-audio-jack --disable-lirc --disable-joystick-menu --disable-xvmc-vld --disable-directfb --disable-dvb --disable-dvb-eit --dvb-path=/usr/include --enable-opengl-vsync --enable-vorbis --disable-xvmc --enable-xv --enable-x11 # Basic Settings Compile type release Compiler cache yes, using ccache symlinked gcc DistCC not using distcc explicitly, since ccache symlink is present Install prefix /usr CPU x86 (AMD Athlon(tm) XP 2500+) Big Endian no MMX enabled no Vector Builtins no # Input Support Joystick menu no lirc support no ivtv support yes FireWire support no DVB support no [/usr/include] # Sound Output Support OSS support yes ALSA support yes aRts support yes JACK support no # Video Output Support x11 support yes xrandr support yes xv support yes XvMC support no XvMC VLD support no OpenGL vsync yes Creating config.mak and config.h
Still at a complete loss how you managed to build xorg-x11 without minimal USE... Please give me a emerge -pv xorg-x11 Also try the 0.18-r1 ebuilds... not 0.18.. those are broken. But they probably won't make a difference in the XRandr issue... but they will fix other things.
Here you go: mythtv root # emerge -pv xorg-x11 These are the packages that I would merge, in order: Calculating dependencies ...done! [blocks B ] <www-client/mozilla-1.7.3-r3 (is blocking media-libs/freetype-2.1.9-r1) [blocks B ] <x11-base/xorg-x11-6.8.0-r4 (is blocking x11-base/opengl-update-2.1.1-r1) [ebuild U ] media-libs/freetype-2.1.9-r1 [2.1.4] -bindist* -debug -doc +zlib 969 kB [ebuild U ] x11-base/opengl-update-2.1.1-r1 [1.7] 37 kB [ebuild U ] x11-misc/ttmkfdir-3.0.9-r2 [3.0.9] -debug 19 kB [ebuild U ] x11-base/xorg-x11-6.8.2-r1 [4.3.0-r2] -3dfx +3dnow* +bitmap-fonts* -cjk -debug -dlloader -dmx -doc -font-server -hardened -insecure-drivers +ipv6* -minimal +mmx +nls +opengl +pam -sdk -sse -static +truetype-fonts* +type1-fonts* (-uclibc) -xprint +xv 45,094 kB [ebuild N ] app-arch/rpm2targz-9.0-r2 2 kB [ebuild N ] sys-apps/utempter-0.5.5.5-r1 -debug 20 kB [ebuild N ] x11-terms/xterm-200-r1 -Xaw3d -debug -toolbar +truetype -unicode 681 kB Total size of downloads: 46,824 kB I'm on older xfree86. I'm also running a 2.4 kernel as well. This machine just since under the TV at home so as long as it 'works' I haven't really seen the need to upgrade. My desktop didn't have a problem with the ebuild and it was running xfree as well. I can't test anything for you on my desktop anymore though since I've recently brought that machine up to date because of some problems I was having with KDE 3.4. Like I said before though, if I modify the ebuild according to this diff: < myconf="--disable-mmx --disable-xrandr --- > myconf="--disable-mmx everything seems to compile just fine. It's been running since it was built the week it came out. Thanks for your time.
Also, here is the failure when building 0.18-r1: make[2]: Entering directory `/var/tmp/portage/mythtv-0.18-r1/work/mythtv-0.18/programs/mythepg' g++ -c -pipe -march=pentiumpro -mmmx -I/usr/kde/3.1/include -Wall -W -O3 -Wall -Wno-switch -fomit-frame-pointer -D_REENTRANT -DMMX -DUSING_IVTV -DUSING_XRANDR -DUSING_OPENGL_VSYNC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr\" -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../../libs -I../../libs/libmyth -I/usr/include -I/usr/qt/3/include -o main.o main.cpp g++ -o mythepg main.o -Wl,-rpath,/usr/qt/3/lib -L/usr/qt/3/lib -L../../libs/libmyth -L../../libs/libmythtv -L../../libs/libavcodec -L../../libs/libavformat -lmythtv-0.18 -lmythavformat-0.18 -lmythavcodec-0.18 -lmyth-0.18 -lfreetype -lmp3lame -lasound -L/usr/kde/3.1/lib -ldl -lartsc -lpthread -L/usr/X11R6/lib -lXinerama -lXv -lX11 -lXext -lXxf86vm -lGL -lGLU -lqt-mt -lXext -lX11 -lm -lpthread ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRFreeScreenConfigInfo' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRConfigSizes' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRConfigCurrentConfiguration' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRGetScreenInfo' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRSetScreenConfigAndRate' ../../libs/libmyth/libmyth-0.18.so: undefined reference to `XRRRates' collect2: ld returned 1 exit status make[2]: *** [mythepg] Error 1 make[2]: Leaving directory `/var/tmp/portage/mythtv-0.18-r1/work/mythtv-0.18/programs/mythepg' make[1]: *** [sub-mythepg] Error 2 make[1]: Leaving directory `/var/tmp/portage/mythtv-0.18-r1/work/mythtv-0.18/programs' make: *** [sub-programs] Error 2 Just note, great to see mmx finally being enabled.
We no longer support xfree since it's removed from the tree ages ago. 0.18-r2 enforces this requirement.