> Considering that Apple will likely be announcing dual quad core
> systems in the near future, I wonder if fink should adopt some policy
> on packaging that utilizes the extra cores. Specifically if we should
> have two changes. One would be a setting in fink.conf which would
> either allow fink to use all available cores or limit it to a single
> core. The second would be to have those packages which can be properly
> build with 'make -j numprocs' to do so (with numprocs being set by
> fink to either the number of cores on the system or to one depending
> upon the fink.conf setting). Fink could also have an option to
> override the setting in fink.conf for a particular build (ie change
> the advertised number of cores for fink to use).
Jack,
A few years back, Martin pointed out that the place to enable fink
builds to finkup MAKEFLAGS from the environment is:
in /sw/lib/perl5/Fink/PkgVersion.pm: (around line 4741)
# uncomment this to be able to use distcc -- not officially supported!
$defaults{'MAKEFLAGS'} = $ENV{'MAKEFLAGS'} if (exists $ENV{'MAKEFLAGS'});
# I support it.
This is also on the Wiki, where they also declare 'unsupported-ness':
http://wiki.finkproject.org/index.php/Setting_MAKEFLAGS_in_Fink
(distcc need not be involved with parallel makes.)
Having an old, slow 2P computer, this is the first thing I sudo-edit
everytime fink upgrades itself, it picks up my environment's MAKEFLAGS.
I've been building -j2 on my home machine (and -j4 on machines at work)
ever since.
Every once in a while, a package will die on some dependency race, but the
failures are far and few. I've seen some InstallScripts that explicitly
add a make -j1 to prevent mkdir-races (and as installing doesn't benefit
as much from -jN). It might also be feasible for troublesome packages to
NoSetMakeflags or coerce -j1.
I've also been using ccache-default, (with larger than usual cache size in
/sw/var/ccache) at the same time, so in the event of a failure, the
rebuild is much faster. (And often, races tun out 'better' on the 2nd,
3rd try...) Builds that cannot use ccache just BuildConflicts with it.
I agree that it would be nice for users benefit from multi-procs by
default. I'm not sure if injecting MAKEFLAGS into the users environment
(/init.[c]sh) would be a good policy. Even if this doesn't happen, it's
not the end of the world, it's documented for the ones who search for the
solution.
End $.02.
David Fang
Computer Systems Laboratory
Electrical & Computer Engineering
Cornell University
http://www.csl.cornell.edu/~fang/
-- (2400 baud? Netscape 3.0?? lynx??? No problem!)
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fink-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-devel