ENOENT is non-standard and would have broken build if undefined -- fixed by wrapping in preprocessor conditional