Hi, I just had the problem emerging a QT3 application on my system, where both QT3 and QT4 are installed. The problem is that the ebuild uses the wrong binaries. 1. Even if only for a reason of coherence, QT 4 should be installed into /usr/qt/4/ 2. There should be a way to switch the path(s) order between QT 3/4. I saw that lots (how many?) of ebuilds are modified to use /usr/qt/3/ but not all. And in the meantime, a such system would be very practical. Sadly, it's nearly impossible - and anyway no really clean - since QT4 binaries are installed into /usr/bin/ ...else it would only be a simple matter of /etc/env.d/ order. 2. A tool (like "eselect qt 4") would be cool. /etc/env.d/44qt4 : PATH=/usr/bin should become /usr/qt/4/bin ROOTPATH=/usr/bin should become /usr/qt/4/bin LDPATH=/usr/lib/qt4 should become /usr/qt/4/lib (stay coherent! :-) QMAKESPEC=linux-g++ (no man?) /etc/env.d/45qt3 : PATH=/usr/qt/3/bin ROOTPATH=/usr/qt/3/bin LDPATH=/usr/qt/3/lib QMAKESPEC=linux-g++ MANPATH=/usr/qt/3/doc/man Then something like "mv /etc/env.d/44qt4 /etc/env.d/45qt4 ; mv /etc/env.d/45qt3 /etc/env.d/44qt3 ; env-update ; source /etc/profile" would do the thing. Well... no?
1. never write a report at 2am (sorry for the mistakes). 2. errr... I uninstall qt4 for now, to emerge my failing packages. (I hope I didn't filed too much bugs linked to this qt4 path prob.)
Can you just tell me which packages are broken so we can fix them?
Hmmm. Sorry, I can just tell you that mythphone-0.18.1 fails. After that I unmerged qt4 before I continued. But if you want I can install qt4 on my home pc and reemerge my whole system to give you a list.
your call, but it's best if we fix the packages that are broken if you can identify them.
I found another package that tries to compile against QT4: media-sound/kmp Hmmm. Fixing is ok, but having the ability to switch between QT3/QT4 would also be cool. I did not have the time to test yet, but I suppose that KDevelop does not offer the choice between using QT3 or QT4 to compile a project, and probably still creates QT3 projects. No? Anyway, I won't have time to migrate my QT3 projects to QT4, so it would have sense to be able to switch between them. I think I'm not the only one in this case.
Found a new one today! games-board/mahjongg3d-0.96
Found a new one today that fails qith QT4: games-strategy/attal-0.9.3
But I don't understand what you mean by "switch between them". There is no conflict the way things are, other than with some OLD packages in portage that need to be fixed to know which Qt to use.
kmp, mahjong3d, and attal have all been fixed in portage. Thanks for the report.
Well, the problem is likely to happen with non-gentoo (and therefore non-patched) packages. Most of the configuration scripts (if any) or the makefiles take the 1st executables in the path. As QT4 binaries are installed into /usr/bin, the wrong version gets used and the compilation fails. If QT4 was installed in /usr/qt/4/bin, like QT3, switching to QT3 as default QT would be easy (a matter of env.d file order). Btw, I read on the KDevelop home site that since version 3.3.x (kde 3.5) it can create both QT3 and QT4. Finally, I just finished re-emerging my system. Here are the last packages that failed with QT4: media-plugins/mythnews-0.18.1 media-plugins/mythphone-0.18.1 media-plugins/mythgallery-0.18.1 media-plugins/mythbrowser-0.18.1 media-plugins/mythweather-0.18.1 media-plugins/mythgame-0.18.1 media-plugins/mythvideo-0.18.1 media-plugins/mythdvd-0.18.1 media-plugins/mythmusic-0.18.1 It's perhaps already fixed, I did not emerge sync yet.
It shouldn't be too much of a problem for you to modify the ebuild then, and change the installation paths to go wherever you would like for them to go. I know we're running to packages that don't compile now, but if we reversed it we'd just be running into packages that don't compile later. At the same time, /usr/qt/* isn't FHS compliant and Qt has gotten a lot more install friendly with Qt4.
I fixed the eclass. All mythtv plugins should work now.
Well, ok. If FHS say so :-) I'll adopt this temporary solution until I have time to port my qt3 apps to qt4. Thanks anyway!