discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: make on multiprocessor machines


From: Nicola Pero
Subject: RE: make on multiprocessor machines
Date: Thu, 7 Sep 2006 13:30:14 +0200 (CEST)

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 <address@hidden>
Sent: Thursday, September 7, 2006 11:41 am
To: address@hidden
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
address@hidden
http://lists.gnu.org/mailman/listinfo/discuss-gnustep








reply via email to

[Prev in Thread] Current Thread [Next in Thread]