Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 120584 - QT-4.x should be installed in /usr/qt/4/
Summary: QT-4.x should be installed in /usr/qt/4/
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-27 16:38 UTC by Greisberger Christophe
Modified: 2006-02-11 11:23 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Greisberger Christophe 2006-01-27 16:38:08 UTC
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?
Comment 1 Greisberger Christophe 2006-01-27 16:45:39 UTC
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.)
Comment 2 Caleb Tennis (RETIRED) gentoo-dev 2006-01-27 18:34:22 UTC
Can you just tell me which packages are broken so we can fix them?
Comment 3 Greisberger Christophe 2006-01-28 00:45:26 UTC
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.
Comment 4 Caleb Tennis (RETIRED) gentoo-dev 2006-01-28 04:29:29 UTC
your call, but it's best if we fix the packages that are broken if you can identify them.
Comment 5 Greisberger Christophe 2006-02-04 10:13:03 UTC
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.

Comment 6 Greisberger Christophe 2006-02-05 02:24:02 UTC
Found a new one today!

games-board/mahjongg3d-0.96
Comment 7 Greisberger Christophe 2006-02-07 10:08:24 UTC
Found a new one today that fails qith QT4:
games-strategy/attal-0.9.3
Comment 8 Caleb Tennis (RETIRED) gentoo-dev 2006-02-09 05:50:29 UTC
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.
Comment 9 Caleb Tennis (RETIRED) gentoo-dev 2006-02-09 05:56:42 UTC
kmp, mahjong3d, and attal have all been fixed in portage.  Thanks for the report.
Comment 10 Greisberger Christophe 2006-02-09 10:02:34 UTC
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.
Comment 11 Caleb Tennis (RETIRED) gentoo-dev 2006-02-09 10:16:20 UTC
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.
Comment 12 Caleb Tennis (RETIRED) gentoo-dev 2006-02-11 08:32:29 UTC
I fixed the eclass.  All mythtv plugins should work now.
Comment 13 Greisberger Christophe 2006-02-11 11:23:26 UTC
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!