'Try to compile, link to an executable, and run a program
built from \'body\' and \'headers\'.  Return true on success, false
otherwise.'

def try_run(self, body, headers=None, include_dirs=None, libraries=None, library_dirs=None, lang='c'):

    from distutils.ccompiler import CompileError, LinkError
    self._check_compiler()
    try:
        (src, obj, exe) = self._link(body, headers, include_dirs, libraries, library_dirs, lang)
        self.spawn([exe])
        ok = True
    except (CompileError, LinkError, DistutilsExecError):
        ok = False
    log.info(((ok and 'success!') or 'failure.'))
    self._clean()
    return ok
