Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 53403 - mythtv ebuilds shouldnt require x11, breaks with qt-embedded
Summary: mythtv ebuilds shouldnt require x11, breaks with qt-embedded
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Television related Applications in Gentoo's Portage
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-09 06:15 UTC by Chris Bainbridge (RETIRED)
Modified: 2004-07-09 21:49 UTC (History)
0 users

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


Attachments
mythtv-0.15.1.ebuild.patch (blah.patch,2.48 KB, patch)
2004-06-14 03:11 UTC, Chris Bainbridge (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Bainbridge (RETIRED) gentoo-dev 2004-06-09 06:15:52 UTC
Mythtv depends on >=x11-libs/qt-3.1. It should check X use flag instead and either depend on qt or embedded-qt. Maybe there should probably be a QT virtual.
Comment 1 Chris Bainbridge (RETIRED) gentoo-dev 2004-06-14 03:11:27 UTC
Created attachment 33204 [details, diff]
mythtv-0.15.1.ebuild.patch

ok this patch fixes compiling with qt/e and a few typos in the ebuild.
Comment 2 Chris Bainbridge (RETIRED) gentoo-dev 2004-07-04 10:11:59 UTC
added
Comment 3 Rutger Hendriks 2004-07-05 12:40:07 UTC
Unfortunately this broke mythtv on AMD64, since qt-embedded doesn't have amd64 or ~amd64 keyword yet:

# emerge -pv mythtv

These are the packages that I would merge, in order:

Calculating dependencies \
!!! all ebuilds that could satisfy ">=x11-libs/qt-embedded-3.1" have been masked.
!!! possible candidates are:
- x11-libs/qt-embedded-3.3.2-r1 (masked by: missing keyword)
- x11-libs/qt-embedded-3.1.2 (masked by: missing keyword)
- x11-libs/qt-embedded-3.3.2 (masked by: missing keyword)
!!!    (dependency required by "media-tv/mythtv-0.15.1-r1" [ebuild])

!!! Error calculating dependencies. Please correct.

# emerge -s mythtv
Searching...
[ Results for search key : mythtv ]
[ Applications found : 2 ]

*  media-tv/mythtv
      Latest version available: 0.15.1-r1
      Latest version installed: 0.15.1
      Size of downloaded files: 6,063 kB
      Homepage:    http://www.mythtv.org/
      Description: Homebrew PVR project.
      License:     GPL-2


# emerge -s qt-embedded
Searching...
[ Results for search key : qt-embedded ]
[ Applications found : 1 ]

*  x11-libs/qt-embedded [ Masked ]
      Latest version available: 3.3.2-r1
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 19,159 kB
      Homepage:    http://www.trolltech.com/
      Description: QT version 3.3.2
      License:     QPL-1.0 | GPL-2



emerge info:
Portage 2.0.50-r8 (gcc34-amd64-2004.1, gcc-3.4.0, glibc-2.3.4.20040605-r0, 2.6.7-gentoo-r8)
=================================================================
System uname: 2.6.7-gentoo-r8 x86_64 4
Gentoo Base System version 1.5.1
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb -frename-registers -pipe"
CHOST="x86_64-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb -frename-registers -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.tiscali.nl/pub/mirror/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="S3TC X aac aalib acpi acpi4linux alsa amd64 apm arts asterisk audiofile avi berkdb cdr chroot crypt cups dga directfb divx4linux dv dvd dvdr encode faad fbcon fbdev ffmpeg fftw flac flash foomaticdb gd gdbm ggi gif gphoto2 gpm gstreamer gtk2 icq ieee1394 imagemagick imap imlib imlib2 irmc jabber java javascript joystick jpeg kde kerberos krb4 lcd lcms ldap libcaca libg++ libwww linguas_en_GB linguas_nl lirc live mad mbox mikmod mng motif mozdomi mozilla mozp3p mozsvg mozxmlterm mpeg mpeg4 mpi msn mysql nas ncurses net nls nptl oav offensive oggvorbis opengl opie oss pam pda pdflib perl pic plotutils png python qt quicktime readline samba sasl sdl slang slp speex spell ssl tcltk tcpd tetex theora tiff transcode truetype usb v4l v4l2 videos wmf xml2 xmms xosd xprint xrandr xv xvid zlib zvbi"
Comment 4 Chris Bainbridge (RETIRED) gentoo-dev 2004-07-05 19:28:31 UTC
This only happens if you have directfb in your USE flags. I will add ~amd64 to qt-e anyway, but this probably isn't what you want as it will emerge qt-embedded. Unless you really are running directfb mythtv on an amd64?
Comment 5 Rutger Hendriks 2004-07-06 06:42:55 UTC
Okay, I'm afraid I still have problems when I have directfb in USE:

# emerge -av mythtv

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N    ] x11-libs/qt-embedded-3.3.2-r1  -build -debug -doc +gif +mysql -odbc +opengl -postgres  19,159 kB
[ebuild     U ] media-tv/mythtv-0.15.1-r1 [0.15.1] +alsa +arts -cle266 +directfb -dvb +lcd +lirc -nvidia +opengl  0 kB

Total size of downloads: 19,159 kB

Do you want me to merge these packages? [Yes/No] y
>>> emerge (1 of 2) x11-libs/qt-embedded-3.3.2-r1 to /
>>> Downloading ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/distfiles/qt-embedded-free-3.3.2.tar.bz2
--14:20:25--  ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/distfiles/qt-embedded-free-3.3.2.tar.bz2
           => `/usr/portage/distfiles/qt-embedded-free-3.3.2.tar.bz2'
Resolving ftp.snt.utwente.nl... 130.89.175.1
Connecting to ftp.snt.utwente.nl[130.89.175.1]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD /pub/os/linux/gentoo/distfiles ... done.
==> PASV ... done.    ==> RETR qt-embedded-free-3.3.2.tar.bz2 ... done.
Length: 19,619,660 (unauthoritative)

100%[===============================================================================================>] 19,619,660   479.81K/s    ETA 00:00

14:21:09 (441.11 KB/s) - `/usr/portage/distfiles/qt-embedded-free-3.3.2.tar.bz2' saved [19619660]

>>> md5 src_uri ;-) qt-embedded-free-3.3.2.tar.bz2
 * Note: this will build a rather bloated qt/e, with all features enabled.
 * It may be suitable for testing, but definitely not for real embedded systems
 * where memory is precious. I advise you select your own featureset (e.g. by
 * editing this ebuild) if building for such a system.
>>> Unpacking source...
>>> Unpacking qt-embedded-free-3.3.2.tar.bz2 to /var/tmp/portage/qt-embedded-3.3.2-r1/work
 >>> Source unpacked.
gif
mysql

   The specified system/compiler is not supported:

        /var/tmp/portage/qt-embedded-3.3.2-r1/work/qt-embedded-free-3.3.2/mkspecs/generic

   Please see the PLATFORMS file for a complete list.


!!! ERROR: x11-libs/qt-embedded-3.3.2-r1 failed.
!!! Function src_compile, Line 63, Exitcode 2
!!! (no error message)





I've now removed directfb, and mythtv starts to compile fine.
It doesn't finish succesfully, but I'm guessing that's another bug :P


g++ -c -pipe `artsc-config --cflags` -Wall -W `freetype-config --cflags` -D_REENTRANT -fPIC  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr\" -DUSING_IVTV -DLCD_DEVICE -DUSING_OPENGL_VSYNC -DUSING_XV -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I/usr/include -I../libmyth -I.. -Idvbdev -I../libavcodec -I/usr/qt/3/include -o RTjpegN.o RTjpegN.cpp
RTjpegN.cpp: In member function `int RTjpeg::b2s(int16_t*, int8_t*, uint8_t)':
RTjpegN.cpp:136: error: ISO C++ forbids cast to non-reference type used as lvalue
RTjpegN.cpp:145: error: ISO C++ forbids cast to non-reference type used as lvalue
RTjpegN.cpp:174: error: ISO C++ forbids cast to non-reference type used as lvalue
RTjpegN.cpp:186: error: ISO C++ forbids cast to non-reference type used as lvalue
RTjpegN.cpp:203: error: ISO C++ forbids cast to non-reference type used as lvalue
RTjpegN.cpp:224: error: ISO C++ forbids cast to non-reference type used as lvalue
RTjpegN.cpp:234: error: ISO C++ forbids cast to non-reference type used as lvalue
RTjpegN.cpp:241: error: ISO C++ forbids cast to non-reference type used as lvalue
make[2]: *** [RTjpegN.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/mythtv-0.15.1-r1/work/mythtv-0.15.1/libs/libmythtv'
make[1]: *** [sub-libmythtv] Error 2
make[1]: Leaving directory `/var/tmp/portage/mythtv-0.15.1-r1/work/mythtv-0.15.1/libs'
make: *** [sub-libs] Error 2

!!! ERROR: media-tv/mythtv-0.15.1-r1 failed.
!!! Function src_compile, Line 153, Exitcode 2
!!! compile problem
Comment 6 Chris Bainbridge (RETIRED) gentoo-dev 2004-07-06 10:24:55 UTC
Alright, I can't test this myself, but this should work if you build for embedded x86 platform on amd64. In qt-embedded-3.3.2-r1.ebuild change the line:

use x86 && myconf="$myconf -embedded x86" || myconf="$myconf -xplatform generic -embedded generic"

to:

use x86 && myconf="$myconf -embedded x86" || use amd64 && myconf="$myco\
nf -embedded x86" || myconf="$myconf -xplatform generic -embedded generic"
Comment 7 Colin Macdonald 2004-07-08 15:19:26 UTC
The 0.15.1-r1 ebuild in portage uses use flag X but it IUSE doesn't include X.  I think thats a bug.

I'm not sure I like the logic of the ebuild.  Right now I seem to have X and directfb use flags set (even though I didn't set directfb myself in make.conf and its not in make.default---how can that happen?) and still this ebuild wants to install qt-e.  Why should the directfb use flag "win" over the X flag?

mplayer for example uses both the X and directfb use flags to enable support for both X and DirectFB.  I think I agree with the originally poster: why not make mythtv depend on a KDE virtual and then decide whether its qt or qt-e at that level.

Also, can someone explain how the following happens:
Here is partial output of euse -i:

X                     [+] [D] [G] Adds support for X11
directfb              [-] [ ] [G] Adds support for DirectFB layer (library for
                                  FB devices)

now here is the results of emerge -vp mythtv:

[ebuild  N    ] x11-libs/qt-embedded-3.3.2-r1  -build -debug -doc +gif +mysql -odbc +opengl -postgres  19,159 kB
[ebuild     U ] media-tv/mythtv-0.15.1-r1 [0.15.1] +alsa +arts -cle266 +directfb -dvb -lcd +lirc -nvidia +opengl  0 kB

how does the directfb use flag get set?  its not set according to euse but then it is according to emerge!
Comment 8 Colin Macdonald 2004-07-08 15:20:28 UTC
Sorry should have read "QT virtual"
Comment 9 Chris Bainbridge (RETIRED) gentoo-dev 2004-07-09 03:51:35 UTC
Added X to IUSE. Not sure about why directfb is being set, but directfb doesnt "win" against X. If you set directfb and X they should both be detected by mythtv and compiled. I'm not sure if this works, as I haven't tested it.

Directfb is a layer over the framebuffer device. If you want an X version of myth, and not a framebuffer version, set USE="-directfb X". If you want a directfb version of mythtv (which is what you are saying if you have directfb in USE) then qt-embedded has to be a dependency, because it is the only version of QT that runs on a framebuffer device.

I agree that the QT virtual would probably still be a good idea.
Comment 10 Quantumstate 2004-07-09 21:49:56 UTC
I got -r1 to compile when I removed directfb from the ebuild USE, and added X. unmerged qt-embedded. In make.conf to USE add -directfb. Then mythtv compiled.

Thanks Chris.