Closed Bug 539689 Opened 16 years ago Closed 5 years ago

.chk files on Windows 7 require admin privileges to delete

Categories

(Firefox Build System :: General, defect)

x86
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: terminatorul, Unassigned)

References

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 Build Identifier: Trying to rebuild XULRunner from mozilla-1.9.1 sources for firefox fails with rm: cannot remove `d:/Local/Projects/mozilla-1.9.1/obj-dbg-i686-pc-mingw32/browser/dist/lib/softokn3.chk': Permission denied Looks like Windows regards .chk files as system files (generated by chkdsk when it finds lost file fragments) and requires administrative privileges to delete them. Could the build system please avoid or rename this files or otherwise ask for administrative privileges before deleting these files on Windows 7 ? On occasion (building to configurations, in different objdirs, in the same time) I also got errors from the build system that conftest.exe can not be deleted (with permission denied error, although my Windows system user has administrative rights) and that c++ compiler can not create executables. Reproducible: Always Steps to Reproduce: 1. build XUL runner from mozilla-1.9.1 sources for Firefox on Windows 7 2. make some changes in the .mozconfig files 3. rebuild XUL runner Actual Results: Trying to rebuild XULRunner ends with an error like: rm: cannot remove `d:/Local/Projects/mozilla-1.9.1/obj-dbg-i686-pc-mingw32/browser/dist/lib/nssdbm3.chk': Permission denied on Windows 7 Expected Results: Expect the build to complete successfully Here's my .mozconfig_dbg # Use objdir to build in a separate directory from the sources mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-dbg-@CONFIG_GUESS@ # Build the browser application (Firefox) and xulrunner runtime # for embedding mk_add_options MOZ_BUILD_PROJECTS="xulrunner browser" mk_add_options MOZ_CO_PROJECT="xulrunner browser" ac_add_app_options xulrunner --enable-application=xulrunner ac_add_app_options browser --enable-application=browser # Enable debug-only code ac_add_options --enable-debug ac_add_options --disable-optimize # Disable test applications ac_add_options --disable-tests # Enable cryptography for SSL, SMIME ac_add_options --enable-crypto # Enable features/support ac_add_options --enable-mathml ac_add_options --enable-svg ac_add_options --enable-plugins ac_add_options --enable-activex
I don't hit this on Windows 7. Are you sure you don't have permissions configured incorrectly? Did you do a build as Administrator then try to build as a normal user, for example?
(I'm pretty sure "system file" is a special flag, not determined by file extension, anyway.)
FWIW I've seen this on Win7, though I don't use client.mk so I don't really understand what that has to do with it.
Summary: make -f client.mk fails to delete .chk files for rebuild on Windows 7 → rebuild fails to delete .chk files for rebuild on Windows 7
I have been using my regular user account for all my builds. My user has administrative rights on the machine I am building, although the build system never raised an UAC promt to request elevated privileges. I have Windows 7 Professional 64 bit, version 6.1 (Build 7600) Trying to manually delete the .chk files with Windows Explorer raises the UAC prompt to request elevated privileges. The build process just returns permission denied from rm when trying to delete the dist/lib subdirectory. The 'client.mk' file name just happens to appear on the build command line that I use to build XULRunner SDK (to embed Gecko in my app); most likely the makefile trying to delete dist/lib is a different one ...
Summary: rebuild fails to delete .chk files for rebuild on Windows 7 → make -f client.mk fails to delete .chk files for rebuild on Windows 7
Summary: make -f client.mk fails to delete .chk files for rebuild on Windows 7 → rebuild fails to delete .chk files on Windows 7
Yeah, I've hit this too. Rob knows the details, you can use "export __COMPAT_LAYER=RunAsInvoker" as a workaround to avoid the problem.
I haven't seen this specific issue but I've been using the workaround for quite some time. That workaround was for nsinstall (possibly other files as well) not having a proper embedded manifest with RunAsInvoker but it might fix this issue as well.
Could the variable __COMPAT_LAYER be set by default by the makefile on Windows 7 before cleaning existing files in dist ?
Kyle Huey@KYLETABLET /c/dev/mozilla-central2 $ rm -r obj-i686-pc-mingw32/ rm: cannot remove `obj-i686-pc-mingw32//dist/lib/freebl3.chk': Permission denied rm: cannot remove `obj-i686-pc-mingw32//dist/lib/nssdbm3.chk': Permission denied rm: cannot remove `obj-i686-pc-mingw32//dist/lib/softokn3.chk': Permission denied
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: rebuild fails to delete .chk files on Windows 7 → .chk files on Windows 7 require admin privileges to delete
I tried adding a manifest to run shlibsign asInvoker but that didn't fix the problem :-(
It looks like it's NSS's nsinstall that needs to grow a manifest.
Nope, it's not nsinstall. I have another theory, just need to find time to look at it.
I encountered this with Win7 Pro 32bit. The user has admin privs. I need to rightclick-delete on the objdir and go through the necessary admin delete process to delete these files.
Product: Core → Firefox Build System

The .chk files were removed in bug 1620158

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.