Presumably it used to work because one of the other modules being pulled in used File::Spec, but the current version of whatever that module was doesn't. This is why you should always declare *all* your pre-requisites in Makefile.PL, even those that you know are pulled in by other pre-reqs, and you should always 'use' *all* the modules you refer to.