[SM-Grimoire-Bugs] [Bug 15661] New: qt4 fails to compile with multiple make jobs

bugzilla-daemon at bugs.sourcemage.org bugzilla-daemon at bugs.sourcemage.org
Sun Apr 11 12:06:01 EDT 2010


http://bugs.sourcemage.org/show_bug.cgi?id=15661

           Summary: qt4 fails to compile with multiple make jobs
           Product: Codex
           Version: test grimoire
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: x11-toolkits
        AssignedTo: sm-grimoire-bugs at lists.ibiblio.org
        ReportedBy: tboatman at sourcemage.org


gcc -c -include .pch/release-shared/QtCore -march=prescott -pipe -DPIC -fPIC
-O3
 -m32 -I/usr/include/mysql -I/usr/include -fvisibility=hidden -Wall -W
-D_REENTR
ANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE
-DQT_NO_CAST_T
O_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT
-DELF_INTERPRETER
=\"/lib/ld-linux.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG
-D_LARGEFILE64_S
OURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include
-I../../
include/QtCore -I.rcc/release-shared -Iglobal -I../3rdparty/harfbuzz/src
-I../3r
dparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o
.obj/release-shared/harfbu
zz-gdef.o ../3rdparty/harfbuzz/src/harfbuzz-gdef.c
cc1: error: .pch/release-shared/QtCore: No such file or directory
make[1]: *** [.obj/release-shared/harfbuzz-buffer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [.obj/release-shared/harfbuzz-gdef.o] Error 1
make: *** [sub-corelib-make_default-ordered] Error 2
make[1]: Leaving directory
`/usr/src/qt-everywhere-opensource-src-4.6.2/src/corelib'
Running make with 3 jobs failed. Attempt to run with a single job? [y] 

...

cc1plus: error: .pch/release-shared/QtCore: No such file or directory
make[1]: Leaving directory
`/usr/src/qt-everywhere-opensource-src-4.6.2/src/corelib'
make[1]: *** [.obj/release-shared/qabstractanimation.o] Error 1
make: *** [sub-corelib-make_default-ordered] Error 2
! Problem Detected ! 

---

Making with a single job from the outset works without incident.

I suppose I should note that my distcc environment is heterogenous and mixed
32-bit and 64-bit, non SMGL machines with multilib installed to allow
cross-compilation.  With the proper custom cflags, this causes no issues at all
for compiles that can handle it.

It is also interesting to note that under no circumstances have I EVER had a
cast successfully complete after receiving the "Running make with 3 jobs
failed. Attempt to run with a single job? [y]"  Extensive experience and
research tells me that the failure is not due to a compile problem, but rather
a file corruption problem in most cases.  It happens commonly in a multilib
environment (unless custom CFLAGS are perfectly set), but is also possible in a
non-multilib distributed environment.  

The fundamental problem is this:  If a file is missing, make should (but does
not always) detect this and properly make the file.  If, however, a file is
corrupt, make will -not- detect this, nor is any provision given in make to
clean such things up. Any subsequent make attempts are doomed to fail in
exactly the same spot as the multiple make attempt.  

Since on most (90%) spells my distcc environment does not fail, I cannot accept
that the distcc environment is causing the problem.  

My gut tells me that sorcery should start from a clean tree if a multi-make set
fails.  It's far slower, yes...but it would protect against any file corruption
issues from a distributed environment, and is all together more bulletproof.

-- 
Configure bugmail: http://bugs.sourcemage.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the SM-Grimoire-Bugs mailing list