Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 345757 - dev-util/qt-creator-2.1.0_beta2 became totally useless by not being able to open projects
Summary: dev-util/qt-creator-2.1.0_beta2 became totally useless by not being able to o...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High blocker (vote)
Assignee: Markos Chandras (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-16 13:09 UTC by Nikos Chantziaras
Modified: 2010-11-17 09:30 UTC (History)
1 user (show)

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


Attachments
Screenshot (creator.png,134.22 KB, image/png)
2010-11-16 20:02 UTC, Nikos Chantziaras
Details
refactored ebuild (qt-creator-2.1.0_beta2.ebuild,3.95 KB, text/plain)
2010-11-17 01:20 UTC, Markos Chandras (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikos Chantziaras 2010-11-16 13:09:56 UTC
There was an update today to qt-creator. Not a bump, but a USE flag change. It wanted to rebuild and the "kde" and "qt3support" USE flags were gone.  After it finished rebuilding, Qt Creator is now useless.  You can't work on your projects anymore.  You try to open them and they open as normal files that you can only edit instead of loading the project into the application.
Comment 1 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 19:45:33 UTC
Can you please attach a screenshot?
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 19:47:58 UTC
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
Comment 3 Nikos Chantziaras 2010-11-16 20:02:30 UTC
Created attachment 254539 [details]
Screenshot
Comment 4 Nikos Chantziaras 2010-11-16 20:04:16 UTC
(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.
Comment 5 Nikos Chantziaras 2010-11-16 20:06:43 UTC
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.
Comment 6 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 20:08:44 UTC
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 :-/
Comment 7 Nikos Chantziaras 2010-11-16 20:39:53 UTC
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.
Comment 8 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 20:44:09 UTC
Interesting

Is qt3support enabled on your qt-gui package?
Comment 9 Nikos Chantziaras 2010-11-16 20:49:26 UTC
(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.
Comment 10 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 20:57:04 UTC
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 :)
Comment 11 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 21:01:39 UTC
*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
Comment 12 Nikos Chantziaras 2010-11-16 21:04:43 UTC
> 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.

Comment 13 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 21:09:45 UTC
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
Comment 14 Nikos Chantziaras 2010-11-16 21:13:10 UTC
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"
Comment 15 Davide Pesavento (RETIRED) gentoo-dev 2010-11-16 21:55:20 UTC
(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.
Comment 16 Davide Pesavento (RETIRED) gentoo-dev 2010-11-16 21:57:43 UTC
BTW

elif [[ ${plugin} == "qml" ]]; then
        plugins="qmljseditor"

is the assignment to "plugins" correct? Looks like a typo for "plugin"...
Comment 17 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 22:00:39 UTC
+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
Comment 18 Alex Alexander (RETIRED) gentoo-dev 2010-11-16 22:01:40 UTC
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.
Comment 19 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 22:03:51 UTC
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
Comment 20 Alex Alexander (RETIRED) gentoo-dev 2010-11-16 22:06:18 UTC
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.
Comment 21 Nikos Chantziaras 2010-11-16 22:08:43 UTC
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.
Comment 22 Markos Chandras (RETIRED) gentoo-dev 2010-11-16 22:13:24 UTC
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
Comment 23 Alex Alexander (RETIRED) gentoo-dev 2010-11-16 23:15:00 UTC
(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.
Comment 24 Davide Pesavento (RETIRED) gentoo-dev 2010-11-16 23:43:42 UTC
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 :)
Comment 25 Markos Chandras (RETIRED) gentoo-dev 2010-11-17 01:04:10 UTC
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
Comment 26 Markos Chandras (RETIRED) gentoo-dev 2010-11-17 01:20:19 UTC
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
Comment 27 Nikos Chantziaras 2010-11-17 02:27:05 UTC
(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.
Comment 28 Markos Chandras (RETIRED) gentoo-dev 2010-11-17 09:30:36 UTC
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