[mythtv] Ticket #4397: win32 dependancy resolver and build script

Andrei Tanas andrei at tanas.ca
Mon Mar 3 22:12:36 UTC 2008


> On Mon, Mar 3, 2008 at 1:15 PM, Danny Candelario <dannycan at gmail.com>
> wrote:
> Thanks a ton for the help Buzz!
> I made the fstab and the patch finally went through.
> Now I'm at another road block.
> While building QT it keeps stopping with an error saying it can't find
> a .moc file.
> Here are some of the moc files that it can't find:
> qsound_win.moc
> qmovie.moc
> qaccessible.moc
> qdockwindow.moc
> qmainwindow.moc
> qscrollview.moc
> It seems to be building them in
> C:\msys\1.0\qt-3.3.x-p8\src\tmp\moc\release-shared-mt\ and then loosing
> track of them somehow.

I saw the same issue, and ended up adding this this directory to include
path. Everything worked fine without it for quite a while though, so I am
not really sure what caused it.


> I then discovered that I can copy them to the folder listed in the
> error.
> The first three worked after I copied them to C:\msys\1.0\qt-3.3.x-
> p8\src\kernel
> The last three woked after I copied them to C:\msys\1.0\qt-3.3.x-
> p8\src\widgets
> I gave up after that because it keeps making new ones and loosing them.
> 
> You got any idea what's wrong with it?
> Also, is it possible to modify the script to compile everything using
> two jobs for a dual core cpu? I tried adding -j2 to all the make
> commands that I could find including mingw32-make on line 418 and it
> had no effect at all.

This is not a script's problem, it's the way QT/Win32 generates its
Makefiles for subprojects ("SUBDIRS" in .pro files). You'll see that if you
go inside any "leaf" directory (say "libs/libmyth") and run "make -j2"
there, make will spawn two compiler instances at a time. However, when make
processes higher-level Makefiles generated by qmake (e.g. "libs/Makefile"),
it spawns one instance of "make -f Makefile" for each directory sequentially
(note that there's no -j2 anymore). To fix that permanently, you'd have to
patch qmake (compare qmake/generators/win32/winmakefile.cpp and
qmake/generators/unix/unixmake2.cpp).

Considering that we are already using patched QT, I'd say we could do it.
But then, hopefully it will all become unnecessary when Myth moves to QT4.



More information about the mythtv-dev mailing list