parallel builds revisited

Benjamin Lutz mail at maxlor.com
Thu Apr 12 18:58:51 UTC 2007


On Thursday 12 April 2007 18:32, [LoN]Kamikaze wrote:
> Robert Noland wrote:
> > Have any of you looked at sysutils/bsdadminscripts, it's buildflags
> > options allow for parallel builds as well as ccache / distcc use. 
> > I have a reasonable list of ports that must have some or all of
> > these options disabled as well.
> >
> > robert.
>
> I happen to be the author of that and I maintain a list of ports that
> cause trouble in a German Wiki:
> http://wiki.bsdforen.de/Distcc#FreeBSD_Ports
>
> These are all the ports that ever made trouble when I tried to build
> them with 'make -j'. I have around 500 Ports installed, so I think
> those aren't really many.

I've looked at your patches and programs, and I'm starting to have a 
fairly clear idea of solution should look like. I would like to see:

* Integration into the existing ports framework. No new scripts or files
  should be required. The whitelist file needs to go.

* The whitelist should remain, even in the final version (for when users
  feel they know better than the port maintainers whether the software
  supports parallelism or not). I will turn it into a make variable 
  though.

* Configuring the number of jobs should be automatic (but overridable),
  based on kern.smp.cpus.

* If a port build fails, and parallelism is enabled, print a message
  telling the user to repeat the build in single-process mode before
  reporting the error, *unless* ALLOW_MULTIPLE_MAKE_JOBS (or something
  like that) is set in the ports makefile, which is interpreted as
  this feature being officially supported by the port maintainer. So
  basically, if you make use of the whitelist feature, you do so at
  your own risk.

* There is no need to put any references to distcc or ccache into the
  code. Once -j works, users can get distcc or ccache support simply by
  setting CC apropriately. I think.

Btw, do you think it's possible that a port can only be built with, n 
parallel make jobs, but will fail with n+1?

Cheers
Benjamin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20070412/b07cf1fd/attachment.pgp


More information about the freebsd-ports mailing list