The following code tdbio.c (gnupg 1.4.7) will not compile if EROFS is
not set because the close paren is inside the ifdef. (I have not
encountered this as a problem in practice.)
if (db_fd == -1 && (errno == EACCES
#ifdef EROFS
|| errno == EROFS)
#endif
) {