On win32, unlike Posix, the 'rename' function does not overwrite existing files. FcAtomicReplaceOrig expects the Posix behaviour and will always fail under win32. This results in fontconfig being unable to replace existing .fonts.cache-1 files. The quick solution is to unlink the original file before the rename, but I'm not sure if this is the correct solution as a failure could leave the original file deleted and the new file not moved in to replace it. There may not be better solution.
I've committed unlink-before-rename on Win32 to HEAD and branch.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.