At the moment it's not really possible to make 'make -j' work because gnustep-make supports the
before-all after-all before-xxx after-xxx (and similar) targets. They are implemented by using the order of prerequisites for rules, but in a parallel build you can't rely on that. :-( There might be ways out by using new make features, but at the moment you shouldn't expect 'make -j' to work. I think to speed up compilation, supporting PCH would be an easier task. I need to get my hands on a GCC version >= 3.4.x ;-) Thanks -----Original Message----- From: Andreas Höschler <[EMAIL PROTECTED]> Sent: Thursday, September 7, 2006 11:41 am To: [email protected] Subject: make on multiprocessor machines Hi all, we tried the -j option of make for the first time to speed up builds of GNUstep projects on multiprocess machines. We are trying this on a T2000 with 6/24 cores. I get the following error: -bash-3.00$ make -j 24 Making build-headers for framework SRFoundation... Creating /Build/SRFoundation/SRFoundation.framework/Versions/A/Headers... make[1]: *** No rule to make target `/Build/SRFoundation/SRFoundation.framework/Versions/A', needed by `update-current-symlink'. Stop. make[1]: *** Waiting for unfinished jobs.... Creating /Build/SRFoundation/derived_src/.stamp... Creating /Build/SRFoundation/SRFoundation.framework/Versions/A/.... Creating /Build/SRFoundation/SRFoundation.framework/Versions/A/Resources... mkdir: Failed to make directory "/Build/SRFoundation/SRFoundation.framework/Versions"; File exists mkdir: Failed to make directory "/Build/SRFoundation/SRFoundation.framework/Versions"; File exists mkdir: Failed to make directory "/Build/SRFoundation/SRFoundation.framework/Versions/A"; File exists make[1]: *** [/Build/SRFoundation/SRFoundation.framework/Versions/A/.] Error 2 mkdir: Failed to make directory "/Build/SRFoundation/SRFoundation.framework/Versions/A"; File exists make: *** [SRFoundation.build-headers.framework.variables] Error 2 -bash-3.00$ date Obviously multiple threads/processes try to create the target dir at the same time which leads to the error. This renders the j option useless for us. Is this an issue in gnu make or in the GNUstep make package? Can this be fixed somehow or do we have to live with serialized (slow) builds? Thanks, Andreas _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
