>    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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to