I recently installed the new ZoneAlarm software (v7 Internet Security Suite) and have found that when compiling Borland Delphi DPR’s I am getting errors like the following:
modules\change\change_fm.pas(3698) Fatal: Could not create output file '.\dcu\change_fm.dcu’
This only happens when ZoneAlarm is active, with its A/V features active. If I turn off its ‘On-Access Scanning’ the problem goes away.
The problem certainly seems to be in ZoneAlarm/Kaspersky (its new A/V engine), but I was curious if anyone had noticed the problem and/or found a solution. So far it only seems to be affecting Finalbuilder.
Regards,
Britain Crooker
Britain,
Does it also happen if you manually compile from the command line using dcc32?
I haven’t tried from the command line, but I wasn’t able to reproduct the problem from within Delphi.
yeah, it’s a bit of a weird one, but it’s more likely to be caused by dcc32 rather than FinalBuilder, as dcc32 is the one actually creating the .dcu files.
I get that message all of the time and there are only two reasons I have seen it.
1. DCU is readonly and it can’t be overwritten.
2. DCU output Directory does not exist.
It definitely isn’t one of #1 or #2 - my FinalBuilder script runs through and compiles about 16 DPR’s, all of which are basically the same codebase. FinalBuilder fails at different points in the process each time. This script has been running great for a long time (going back to FB3)
I am figuring it is caused by ZoneLabs locking the file while performing an A/V scan (hence when I turn off its real-time protection, things go back to normal).
I don’t think it is FinalBuilder’s fault, I just posted it here because it is the only place where I have found the problem, and was hoping I would find someone else experiencing the same issue.
Yep, that sounds like the likely cause. Luckily you don't have a locked down environment where you can't turn off the real-time protection!