In my thread at http://www.luxrender.net/forum/viewtopic.php?f=22&t=8158 I ended up largely talking to myself but I have found the solution to the problem and post it here in the hope that it proves useful.
If the devs who supplied the specialised configs would consider adding this suggestion, maybe commented out with explanation, to their config files, I think it could save some folks a lot of time in the future.
The problem is that even if you specify search paths and root directories for boost libraries for cmake it still includes system paths. So after verifying that you have the required minimum libraries, if you have older libraries (in my case 1.42 on Ubuntu 11.04) cmake will happily produce a CMakeCache.txt that causes linkage to the old libraries, which in turn produces stuff like 'undefined reference to ... create_directories()' etc.
The solution is simple. Add the variable below to the config:-
SET(Boost_NO_SYSTEM_PATHS "TRUE")
Then the CMakeCache.txt is usable. (as far as boost is concerned).
Edit: This has been in since cmake 2.8.3 and any value except OFF seems to make it work (FindBoost.cmake gives OFF and TRUE).
