The problem appeared with gmake 4.4, which now recognizes the generated sourceView2Enums.ml file as an intermediate file and removes it after use. Unfortunately, findlib-install then tries to copy it, resulting in the error above.
Just why gmake didn't treat sourceView2Enums.ml as an intermediate file before and does so now isn't clear. It is not one of the changes listed in the release notes and appears to be merely a side product of those. In particular, "warning: pattern recipe did not update peer target" is a red herring and unrelated.
A number of other *Enums.ml files are generated and copied by findlib-install, so why aren't they removed as intermediate files? They happen to be listed as dependencies of another target. Why not sourceView2Enums.ml, too? Well... because of a typo.
The problem appeared with gmake 4.4, which now recognizes the generated sourceView2Enums.ml file as an intermediate file and removes it after use. Unfortunately, findlib-install then tries to copy it, resulting in the error above.
Just why gmake didn't treat sourceView2Enums.ml as an intermediate file before and does so now isn't clear. It is not one of the changes listed in the release notes and appears to be merely a side product of those. In particular, "warning: pattern recipe did not update peer target" is a red herring and unrelated.
A number of other *Enums.ml files are generated and copied by findlib-install, so why aren't they removed as intermediate files? They happen to be listed as dependencies of another target. Why not sourceView2Enums.ml, too? Well... because of a typo.