Summary: | MythTV will not work with QT4 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Rob K <spamwhole> |
Component: | Current packages | Assignee: | Television related Applications in Gentoo's Portage <media-tv> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | chris, dan.dickey, fade, heiko.baums, herbs, qt |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Rob K
2005-11-23 18:41:34 UTC
My system is completely upto date (as of a few hours ago). I've revdep-rebuild'd too, just in case. Building with QT4 doesn't seem to work. See: http://bugs.gentoo.org/show_bug.cgi?id=113393 Run revdep-rebuild... (In reply to comment #3) > Run revdep-rebuild... I've run revdel-rebuild several times but the situation is still the same. This is a QT issue. The QMYSQL3 driver is not being compiled or built. The only QT SQL driver that is being created is the PostGres SQL 7 driver based on the output that you pasted. Reassigning to the QT herd because this is a bug with their builds. MythTV will start just fine once QT is fixed. It appears that the problem is caused by something introduced in mysql-5.0.16-r2. By downgrading to 'mysql-5.0.15' and 'qt-3.3.4-r8' I am able to run MythTV correctly. You might want to see bug 114052. When a system has both qt-3 and qt-4 installed, revdep-rebuild does not catch the dependency of qt-3 on mysql and so does not rebuild qt-3. The sql plugin had unresolved libraries (libmysqlclient.so from mysql-4) and so will not load. You get the "QSqlDatabase: QMYSQL3 driver not loaded" problem then. I manually rebuilt qt-3 (emerge --oneshot =qt-3.3.4-r8) and now I can connect to the mysql database again with mythbackend. This is with qt-3.3.4-r8, qt-4.0.1, and mysql 5.0.16-r3 installed. I hope this information helps others. *** Bug 113393 has been marked as a duplicate of this bug. *** *** Bug 114052 has been marked as a duplicate of this bug. *** Someone with QT3 & QT4 can you please give me the result of the following output? env | grep ^PATH Along with which moc Sat Dec 03 <8:23:30>]\>env | grep ^PATH PATH=/usr/local/bin:/etc:/bin:/usr/bin:/usr/kde/3.3/bin:/usr/local/bin/gimp:/usr/games:/usr/games/ bin:/usr/local/games:/usr/sbin:/usr/local/sbin:/usr/X11R6/bin:/opt/bin:/opt/sbin:/opt/nwn:~/bin [fade]artoo:~ [Sat Dec 03 <8:23:33>]\>which moc /usr/bin/moc Does mythtv use .pro files to make makefiles? if so, then the correct qmake needs to be used to generate them: /usr/qt/3/bin/qmake vs /usr/bin/qmake (In reply to comment #12) > Does mythtv use .pro files to make makefiles? > > if so, then the correct qmake needs to be used to generate them: > > /usr/qt/3/bin/qmake > vs > /usr/bin/qmake Also mythtv generate makefiles for subfolders with qmake (first string in all Makefiles is QMAKE = qmake). You must change your PATH to compile this *** Bug 115723 has been marked as a duplicate of this bug. *** I have the same problem, cannot build mythtv. Assuning you meant as root: ------------------------------- ~ # env | grep ^PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.5:/opt/stuffit/bin:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/opt/vmware/workstation/bin ------------------------------- ~ # which moc /usr/bin/moc ------------------------------- As for qmake: ------------------------------- ~ # which qmake /usr/bin/qmake ------------------------------- ~ # whereis qmake qmake: /usr/bin/qmake /usr/X11R6/bin/qmake /usr/bin/X11/qmake ------------------------------- Odd that the whereis doesn't pick up /usr/qt/3/bin/qmake which does exist. Try changing the qmake line in the ebuild to this: ${QTDIR}/bin/qmake QMAKE=${QTDIR}/bin/qmake -o "Makefile" mythtv.pro || die "qmake failed" (In reply to comment #16) > Try changing the qmake line in the ebuild to this: > > ${QTDIR}/bin/qmake QMAKE=${QTDIR}/bin/qmake -o "Makefile" mythtv.pro || die > "qmake failed" > Yeah, that works for me thanks caleb. Okay, I updated the ebuilds in portage. Ok something is still going wrong here? I have mythtv 0.20_p11444 or wanted to try it (next to my freevo install). Besides some 'must install mysql' crap i was doing ok until the actual mythtv build. I don't have any qt dependancies, nor qt installed (prior to mythtv) so the mythtv ebuild should have grabbed qt as a depanancy. It did, it nicely installed qt4. After some murking with the mysql useflag for qt, myth still wouldn't emerge. In the ebuild I noticed an odd thing. It checks for minimal qt version 3.3 Obviously qt4 is higher then 3.3. It then checks wether the mysql and opengl USE flags are set on qt-3 ... so does myth work with qt4 only? Does it not but dependancies are set wrong? (I changed the req. to qt-4 in the ebuild and it's mergin, which will take a while) node: You're wrong. It pulls in qt-3.3 It's a special flag that pulls in 3.3 and higher 3.x series. It does not pull in qt-4. To re-emerge qt-3.3 you need emerge =x11-libs/qt-3* after setting the mysql USE flag in /etc/portage/package.use to "x11-libs/qt mysql". Please don't comment on fixed bugs. Just open new bugs. I might be wrong, but changing: if ! built_with_use -a =x11-libs/qt-3* mysql opengl ; then to: if ! built_with_use -a =x11-libs/qt-4* mysql opengl ; then in the latest ebuild caused it to cleanly install. first line doesn't work, second line does. I don't know the magic behind myth and qt, but this works :) I do have 3.3.6-r2 and 4.1.4 installed btw, so something is going a little wrong here... somewhere. Turns out, qt3 isn't installed with mysql, only postgres. whereas qt4 IS installed with mysql. And myth specifically wants qt3 mysql driver. If the friggin' app needs qt to have SQL support, why the $R%#$% isn't it abstracted so I can use any db backend I want. MythTV isn't all about choice now is it. Guess I won't give myth a nother shot if it's such a pain to install. |