Ports failing on the build cluster
FreeBSD constantly builds packages for various ports. In general errors are identified reasonably quickly by the maintainers and fixed (sometimes after receiving some reminder email from portmgr).
Ports that fail to package on multiple occasions, and for clearly-understood reasons, are marked BROKEN. The idea is that maintainers will be notified of these ports and fixes generated, but in the meantime it is meaningless for the cluster (and FreeBSD users) to try to rebuild them.
However, there are a number of ports that fail on the cluster for which the problem is not clear. In some of these cases, the error seems to be particular to the cluster environment (i.e. they build fine on individuals users' machines). Usually the problem is a subtle port bug which is only manifested in the environment provided by the cluster builds. To avoid portmgr bothering these maintainers over and over again, and to assist maintainers in generating an appropriate fix for the problem (where appropriate), they are marked NO_PACKAGE (sometimes dependent on the value of PACKAGE_BUILDING, which is a flag the cluster sets during builds). However, these errors really ought to be fixed. Here is a list of them.
Notes about common problems
* Some processes get a runaway process error. This means that they are killed because they did not produce any output in a long time (currently 2 hours), or because the build did not complete after a very long time (100 hours). Usually this is because a command hung, or the entire build is stuck in an infinite loop.
* Some ports that modify the contents of /etc/shells do not always restore the contents of /etc/shells on exit. This causes a sporadic failure of the 'mtree' checks for files inappropriately modified during the build.
* All ports are built in a jail, instead of a chroot; this provides a number of technical advantages, and it's a good thing for packages to support anyway. Since default jail settings impose extra restrictions on the activities that a package build may perform, default jails cause a number of port builds to fail because of e.g. trying to run chflags, trying to ping localhost, etc. These restrictions have been loosened on the build hosts by tuning the appropriate sysctls, so the resulting errors should disappear from the builds. Some port builds may require further adaptation though.