QMake and make with parallel jobs [bug?]
-
wrote on 12 Jul 2010, 06:46 last edited by
Hi folks,
is seems like theres is a bug in the Makefile generation of qmake. When running make after qmake as usual, I get no errors, but running it with multiple jobs, lets say "make -j3", I get the following error:
@make: *** No rule to make target
../../../ui/ui_something.h', needed by
something.o'. Stop.
make: *** Waiting for unfinished jobs....@It looks like, that the uic does not finish before the other parallel compile jobs start. Is there a way to fix this (I mean not by starting make twice)?
Thanks in advance!
Best,
Eckard -
wrote on 12 Jul 2010, 13:22 last edited by
As far as I know, qmake run before make, and while qmake work is not done, make don't start.
-j key does not affect on qmake. -
wrote on 12 Jul 2010, 15:11 last edited by
No, of course. But qmake seems to write the uic calls into the makefile that make processes. Using make with the -j argument parallelizes the execution of the makefile to a certain extend. But make does not seem to care about the uic calls correctly, because it executes the following compile commands without waiting for the uic calls to be finished (which result in the upper error message).
-
wrote on 12 Jul 2010, 15:18 last edited by
This sounds like a bug to me. Have you considered filing it in our "bugtracker":http://bugreports.qt.nokia.com/ ?
-
wrote on 12 Jul 2010, 18:15 last edited by
created a new issue:
"QTBUG-12139":http://bugreports.qt.nokia.com/browse/QTBUG-12139
-
wrote on 27 Oct 2010, 20:25 last edited by
Not sure whether this is the same problem, but did you try CONFIG+=ordered?
In general, if you need high parallelity in your builds, CMake is much more powerful than QMake.
-
wrote on 27 Oct 2010, 22:43 last edited by
I use qmake and make -j4 for ages, never had that problem. I read about a similar problem somewhere, there were some unnecessary #include-s of the same files across the project, and that made some trouble. I don't know if it has anything to do with your problem.
-
wrote on 28 Oct 2010, 11:28 last edited by
I'm using qmake together with make -j8 on several projects for years without any hazzle (including speeding up compilation of my project in Creator).
For me it's CMake that causes problems with parallel builds. But since I rarely use that, it's not a real issue for me.