| Summary: | dev-util/qt-creator-2.1.0_beta2 became totally useless by not being able to open projects | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Nikos Chantziaras <realnc> |
| Component: | Current packages | Assignee: | Markos Chandras (RETIRED) <hwoarang> |
| Status: | RESOLVED FIXED | ||
| Severity: | blocker | CC: | qt |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
Screenshot
refactored ebuild |
||
|
Description
Nikos Chantziaras
2010-11-16 13:09:56 UTC
Can you please attach a screenshot? The use flags had no effect on the qt-creator build system. So if you have qt-qt3support installed it should behave like before. In order to use the designer you need to have designer use flag enable and possibly qml too Created attachment 254539 [details]
Screenshot
(In reply to comment #2) > The use flags had no effect on the qt-creator build system. So if you have > qt-qt3support installed it should behave like before. In order to use the > designer you need to have designer use flag enable and possibly qml too x11-libs/qt-qt3support is installed. Also, I have the "qml" USE flag disabled, but the designer plugin works just fine. Btw, is there a way to get the previous ebuild somewhere? Or see a diff? I've no idea what the changes in the ebuild were. That is really really weird. As I said the changes do not affect the build system in any way. I am able to open my projects as I did before. Maybe you can try to erase .config/Nokia/qtcreator* settings. http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/qt-creator/qt-creator-2.1.0_beta2.ebuild?r1=1.3&r2=1.4 As you can see the changes are rather trivial so I don't see how my commit is responsible for that :-/ I reverted those changes and now it works again :-/ Also, there was another problem with those changes: In the "Welcome" screen of Creator, the "Getting Started" tab was gone (sorry I forgot to mention that before). Now it's back again and working OK. So I'm 100% sure that there's something in the changes that breaks Creator. I've no idea what. Interesting Is qt3support enabled on your qt-gui package? (In reply to comment #8) > Interesting > > Is qt3support enabled on your qt-gui package? Yes, it's enabled. Anyway, I think I know what's going on. In the version that works for me, there's a "+qml" in PLUGINS. This looks like a typo which you fixed later by removing the plus sign. However, removing the plus sign breaks Creator since the code in "elif [[ ${plugin} == "qml" ]]; then" is executed. I'm not sure what the code does though. It seems it disables plugin_qt4projectmanager? That doesn't sound sane; Creator without the project manager is kinda useless. This is the code
for plugin in ${PLUGINS}; do
if ! use ${plugin}; then
so it will disable qml stuff if you don't use qml. But since you use qml this code will never be executed
The typo introduced in this commit
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/qt-creator/qt-creator-2.1.0_beta2.ebuild?r1=1.1&r2=1.2
So I bet this is irrelevant in our situation.
Disabling the designer makes sense when you want to use qt-creator as a C++ IDE but without any Qt4 gui development :)
*sigh* I can't spot where the problem is. @Qt ppl: Anyone from Qt willing to verify whether qt-creator works for him? It works for me but I could use a couple more testers for that. Just build it and try to create a new project. Close qt-creator and fire it up again and see if you get similar output like the attached screenshot. Thanks > Disabling the designer makes sense when you want to use qt-creator as a C++ IDE > but without any Qt4 gui development :) That is not the designer that gets disabled there. It's the project manager. > Anyone from Qt willing to verify whether qt-creator works for him? It works for > me but I could use a couple more testers for that. Just build it and try to > create a new project. Close qt-creator and fire it up again and see if you get > similar output like the attached screenshot. If the problem is there, you not only can't load projects, you also can't *create* projects. The whole project management plugin in missing. Looking at the ebuild source code again it seems that qt4projectmanager is disabled when designer use flag is off. Are you using designer use flag? Maybe this part needs fixing These are my USE flags: [ebuild R ] dev-util/qt-creator-2.1.0_beta2 USE="bineditor bookmarks designer git rss -cmake -cvs -debug -doc -examples -fakevim -mercurial -perforce -qml -qtscript -subversion" LINGUAS="-de -es -fr -it -ja -pl -ru -sl" (In reply to comment #10) > This is the code > > for plugin in ${PLUGINS}; do > if ! use ${plugin}; then > > so it will disable qml stuff if you don't use qml. But since you use qml this > code will never be executed > No, he has "-qml". Thus, looking at the ebuild code, this part gets executed: elif [[ ${plugin} == "qml" ]]; then plugins="qmljseditor" sed -i -e "/^include(qml\/qml.pri)/d" \ src/plugins/debugger/debugger.pro \ -e "/plugin_qt4projectmanager/s:^:#:" \ src/plugins/plugins.pro \ || die "failed to disable qml plugins" fi So qt4projectmanager plugin is disabled, and that's the cause of the issues Nikos was experiencing. BTW
elif [[ ${plugin} == "qml" ]]; then
plugins="qmljseditor"
is the assignment to "plugins" correct? Looks like a typo for "plugin"...
+qml is a typo so qml use flag is ignored whatever your settings are. So the project manager never gets disabled. However project manager requires tones of qml stuff which I am trying to remove atm Davide pressed commit a few minutes before me :D The previous ebuilds had qml always enabled because of the "+" next to it. IMO you should remove the qml useflag completely and force-enable qml, since it provides important core functionality. Alex, qml brings all the load of crap along with qt-declarative which BTW has wrong dependencies since it depends to too many qt-* package e.g qt-webkit. qt-webkit is not mandatory for qt-declarative so I don't want to force users have the entire Qt4 installed in order to use a simple IDE Perhaps the deps are wrong, I'll have to check. That doesn't change the fact that for now, qml is required for a fully functional qt-creator. The USE flag deps also seem wrong. When I enable the qml USE flag, it tells me to enable the "private-headers" flag on some qt packages. But this doesn't seem to be actually needed; it builds just fine here without enabling the private-headers flag. Yes it builds but the qml plugins wont work properly Qt-creator is making internal checks and adjusts the build system if those private headers are not present Look at src/plugins/plugins.pro (In reply to comment #19) > Alex, qml brings all the load of crap along with qt-declarative which BTW has > wrong dependencies since it depends to too many qt-* package e.g qt-webkit. > qt-webkit is not mandatory for qt-declarative so I don't want to force users > have the entire Qt4 installed in order to use a simple IDE qt-declarative doesn't need qt-webkit indeed, just tested it. BUT, qt-assistant does, so your point is moot. Users do need pretty much all of Qt to use qt-creator properly. Mmm...interesting... I've just discovered that the help viewer plugin transparently falls back to a QTextBrowser if QWebView isn't available at compile-time. So the creator does *not* strictly require qt-webkit :) qml is forced via +qml on use flags however it is doable to have qt-creator without all the qml plugins. I am still trying to remove the qml dependencies. I hope to finish that soon Created attachment 254579 [details]
refactored ebuild
Nikos
Can you please test the attached ebuild with your use flag combination and verify that you have a working qt-creator again? Make use you use +designer -qml . I tested it with -qml and -designer and seems to work
Thank you
(In reply to comment #26) > Created an attachment (id=254579) [details] > refactored ebuild > > Nikos > > Can you please test the attached ebuild with your use flag combination and > verify that you have a working qt-creator again? Make use you use +designer > -qml . I tested it with -qml and -designer and seems to work > > Thank you Meanwhile I re-emerged all Qt packages with "private-headers" enabled, because after what I've read in this report I get the impression +qml is the safe way to go. So I hope having enabled private-headers won't interfere with this test, which was successful: with the attached ebuild, Creator works OK with +designer -qml. private-headers should *not* affect the results since qt-creator[-qml] does not need qml(?). I think I managed to remove qml completely but again I am not really sure about this Marked as Fixed in -r1 |