Please test: make -j, (Use)MaxBuildJobs

View: New views
3 Messages — Rating Filter:   Alert me  

Please test: make -j, (Use)MaxBuildJobs

by monipol :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello, all. As some of you already know, the -jN option in make  
specifies the number of jobs (N) to run simultaneously. Fink CVS HEAD  
now provides support for this as follows:

* There's a new entry in fink.conf, MaxBuildJobs, which should contain  
the aforementioned N value. fink configure has been modified to  
include the corresponding prompt.

* There's a new boolean package description field: UseMaxBuildJobs. If  
true, Fink will automatically append -jN to MAKEFLAGS, even if  
NoSetMAKEFLAGS is true. The default is UseMaxBuildJobs: false.

This is an opt-in feature -- package maintainers must explicitly set  
UseMaxBuildJobs: true in their package descriptions. As there are some  
packages known not to build correctly with -j, this new feature won't  
affect them. If your package already sets -j, possibly via sysctl  
hw.ncpu or sysctl hw.activecpu, consider changing it UseMaxBuildJobs.  
Also, as Alex Strange insightfully observed, in general hw.activecpu  
should be used instead of hw.ncpu because users may choose to disable  
one or more CPUs/cores; fink configure uses hw.activecpu when  
suggesting an initial value for MaxBuildJobs.

If you're willing to checkout CVS HEAD, please test this new feature.  
Feedback is more than welcome.


Cheers,

-- monipol

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fink-devel mailing list
Fink-devel@...
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Re: Please test: make -j, (Use)MaxBuildJobs

by Charles Lepple :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Nov 11, 2009, at 6:43 AM, monipol wrote:

> If you're willing to checkout CVS HEAD, please test this new feature.
> Feedback is more than welcome.

If we haven't tested the CVS HEAD before, are there any gotchas?

Is it sufficient to follow the instructions linked below, swapping a  
"cvs checkout" for the tarball steps?

http://www.finkproject.org/download/srcdist.php

--
Charles Lepple

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fink-devel mailing list
Fink-devel@...
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Re: Please test: make -j, (Use)MaxBuildJobs

by monipol :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 13/11/2009, at 00:07, Charles Lepple wrote:

> On Nov 11, 2009, at 6:43 AM, monipol wrote:
>
>> If you're willing to checkout CVS HEAD, please test this new feature.
>> Feedback is more than welcome.
>
> If we haven't tested the CVS HEAD before, are there any gotchas?
>
> Is it sufficient to follow the instructions linked below, swapping a  
> "cvs checkout" for the tarball steps?
>
> http://www.finkproject.org/download/srcdist.php

Follow these steps instead:

http://www.finkproject.org/doc/cvsaccess/index.php

In summary, it's a cvs checkout of the fink module followed by ./
inject.pl.

There's a drawback, though: the only way to update fink (the package  
manager) will be running cvs update (or a fresh cvs checkout) and ./
inject.pl again -- unless the latest package manager version is 0.30.  
In other words, fink selfupdate won't update fink itself.

If you ever need to downgrade the installation to a released version  
(e.g. fink-0.29.10-41), run

fink install fink-0.29.10-41

then remove /sw/fink/10.4/local/injected (and the corresponding Trees  
entry in fink.conf), and run

fink index
fink scanpackages

Technically: when a CVS checkout is injected, Fink creates a local/
injected tree with a fink.info file containing

Package: fink
Version: 0.29.99.cvs
Revision: timestamp

Hence if you have, say, fink-0.29.10-41 and inject a CVS checkout,  
your fink version will be 0.29.99.cvs, greater than any (well, most)  
other 0.29.* version(s). The solution is to get rid of the local/
injected tree.


Cheers,

-- monipol


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fink-devel mailing list
Fink-devel@...
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel