Closed
Bug 505289
Opened 16 years ago
Closed 16 years ago
Build fails on Vista or later with UAC enabled
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.9.2a1
People
(Reporter: emk, Assigned: emk)
References
Details
Attachments
(4 files)
|
382 bytes,
application/xml
|
Details | |
|
616 bytes,
application/xml
|
Details | |
|
3.88 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
|
1.28 KB,
patch
|
Callek
:
review+
|
Details | Diff | Splinter Review |
link -NOLOGO -OUT:nsinstall.exe -PDB:nsinstall.pdb host_nsinstall_win.obj
k:/home/trunk/src/ff-opt/config/nsinstall -m 644 ../mozilla-config.h /k/home/tru
nk/src/config/nsStaticComponents.h ../dist/include
make[4]: execvp: k:/home/trunk/src/ff-opt/config/nsinstall: Bad file number
make[4]: *** [export] Error 127
make[4]: Leaving directory `/k/home/trunk/src/ff-opt/config'
make[3]: *** [export_tier_base] Error 2
make[3]: Leaving directory `/k/home/trunk/src/ff-opt'
make[2]: *** [tier_base] Error 2
make[2]: Leaving directory `/k/home/trunk/src/ff-opt'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/k/home/trunk/src/ff-opt'
make: *** [build] Error 2
nsinstall should have an asInvoker manifest.
Comment 1•16 years ago
|
||
Huh, I thought our build system did this by default... ted?
| Assignee | ||
Comment 2•16 years ago
|
||
Workaround:
__COMPAT_LAYER=RunAsInvoker make -f client.mk build
Comment 3•16 years ago
|
||
What version of MSVC are you using? Using MSVC8 and MSVC9, there is an embedded manifest in nsinstall.exe and things work fine with UAC (I did test this!)
| Assignee | ||
Comment 4•16 years ago
|
||
Using MSVC8 Pro.
Clobbering tree didn't help.
It may be a Win7/x64 only issue.
OS: Windows Vista → Windows 7
Hardware: All → x86_64
| Assignee | ||
Comment 5•16 years ago
|
||
Works fine using MSVC9. MSVC9 seems to add manifest automatically.
Comment 6•16 years ago
|
||
The manifest should be added by our code: http://mxr.mozilla.org/mozilla-central/source/config/rules.mk#1019
Can you remove the @ from that line (to un-hide the command) and see if it is actually being run?
| Assignee | ||
Comment 7•16 years ago
|
||
(In reply to comment #6)
mt.exe was executed:
link -NOLOGO -OUT:nsinstall.exe -PDB:nsinstall.pdb host_nsinstall_win.obj
if test -f nsinstall.exe.manifest; then \
mt.exe -NOLOGO -MANIFEST nsinstall.exe.manifest -OUTPUTRESOURCE:
nsinstall.exe\;1; \
rm -f nsinstall.exe.manifest; \
fi
But nsinstall.exe.manifest didn't contain the requestedExecutionLevel.
| Assignee | ||
Comment 8•16 years ago
|
||
I've removed "rm -f $@.manifest; \" line to get this.
| Assignee | ||
Comment 9•16 years ago
|
||
| Assignee | ||
Updated•16 years ago
|
Attachment #389541 -
Attachment mime type: application/octet-stream → application/xml
| Assignee | ||
Comment 10•16 years ago
|
||
Benjamin, what's your linker version?
Here is my MSVC8 configuration:
$ link
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.
$ where link
c:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\link.exe
This linker do not have a /MANIFESTUAC flag.
Comment 11•16 years ago
|
||
MANIFESTUAC is new in VC9.
| Assignee | ||
Comment 12•16 years ago
|
||
(In reply to comment #11)
So MSVC8 linker didn't have tha ability to add requestedExecutionLevel to manifest. If nsinstall works with MSVC8, where did requestedExecutionLevel come from?
Comment 13•16 years ago
|
||
If you want that in your manifest, you need to have a manifest in the srcdir, ala:
http://mxr.mozilla.org/mozilla-central/source/browser/app/firefox.exe.manifest
Comment 14•16 years ago
|
||
ted, would that be nsinstall.exe.manifest?
Comment 15•16 years ago
|
||
Yeah, but I think you'll have to fix rules.mk, since it doesn't seem to support that for HOST_PROGRAM:
compare http://mxr.mozilla.org/mozilla-central/source/config/rules.mk#981
vs. http://mxr.mozilla.org/mozilla-central/source/config/rules.mk#1019
| Assignee | ||
Comment 16•16 years ago
|
||
This patch fixed the problem for me.
Assignee: nobody → VYV03354
Status: NEW → ASSIGNED
Attachment #390095 -
Flags: review?(ted.mielczarek)
Comment 17•16 years ago
|
||
The new manifest files are deleted each time the build runs.
Worse that that is that the patch does not seem to fix this issue for me.
Comment 18•16 years ago
|
||
The manifest file won't be added when building incrementally. Try make clean and then make in both objdir/config and objdir/js/src/config
Comment 19•16 years ago
|
||
That's what I did.
Copying the nsinstall.exe from mozilla-build into these directories works as a workaround although make clean will remove it each time.
Comment 20•16 years ago
|
||
Strange, I just started a new Firefox debug build with the patch applied and it has so far made it well beyond the point it was failing in config. I've also done a make clean / make in objdir/config and objdir/js/src/config on a Firefox optimized build and it added the manifest to both of these files.
Comment 21•16 years ago
|
||
Maybe it's because I'm doing a srcdir build then?
Comment 22•16 years ago
|
||
I'm using an object dir outside of my source dir so that is entirely possible... I'll try it out.
Comment 23•16 years ago
|
||
I just tried an objdir build and that works fine.
Comment 24•16 years ago
|
||
I can confirm that the patch doesn't work without an objdir and that the manifest files are deleted.
| Assignee | ||
Comment 25•16 years ago
|
||
The manifest stuff didn't work with a srcdir build from the beginning. (see bug 330231)
So I don't consider about that. Please file a follow-up bug if you care. See comment #2 about a workaround.
Comment 26•16 years ago
|
||
Comment on attachment 390095 [details] [diff] [review]
like this?
Looks good, thanks.
Attachment #390095 -
Flags: review?(ted.mielczarek) → review+
| Assignee | ||
Updated•16 years ago
|
Keywords: checkin-needed
Comment 28•16 years ago
|
||
Does the patch really fix this bug? I cannot build on Vista x64 with VC9 and MozillaBuild1.4.
If I try to execute ($dist)/config/nsinstall.exe from explorer, I look the error dialog which said the applicaiton's side-by-side is invalid (I'm not sure the actual message on English Windows).
Note that I also can reproduce it when I execute it as administrator.
| Assignee | ||
Comment 29•16 years ago
|
||
(In reply to comment #28)
I don't confirm yet, but it should be a different problem.
My problem was that explorer displayed a UAC dialog. (not a side-by-side configuration error dialog.)
Please file a new bug about your problem.
Comment 30•16 years ago
|
||
When I backed out the patch and removed ($dist)/config/nsinstall.exe, I can build it. Doesn't the patch has a bug?
| Assignee | ||
Comment 31•16 years ago
|
||
I guess we need to add /MANIFESTUAC:NO (as bug 419665 did) for HOST_PROGRAM.
I still think it's better to open a new bug and block this bug.
Comment 32•16 years ago
|
||
(In reply to comment #31)
> I guess we need to add /MANIFESTUAC:NO (as bug 419665 did) for HOST_PROGRAM.
> I still think it's better to open a new bug and block this bug.
see bug 508202.
Updated•15 years ago
|
Flags: in-testsuite-
Target Milestone: --- → mozilla1.9.2a1
Version: unspecified → Trunk
Comment 33•15 years ago
|
||
NB: I'm not sure c-c actually uses this atm, but just in (future) case.
Attachment #428643 -
Flags: review?(bugspam.Callek)
Comment 34•15 years ago
|
||
Comment on attachment 428643 [details] [diff] [review]
(Bv1-CC) Copy (the useful part of) it to comm-central
[Checkin: Comment 35]
We do: seamonkey.exe.manifest thunderbird.exe.manifest and sunbird.exe.manifest
Attachment #428643 -
Flags: review?(bugspam.Callek) → review+
Comment 35•15 years ago
|
||
Comment on attachment 428643 [details] [diff] [review]
(Bv1-CC) Copy (the useful part of) it to comm-central
[Checkin: Comment 35]
http://hg.mozilla.org/comm-central/rev/c1b38cb0b079
Attachment #428643 -
Attachment description: (Bv1-CC) Copy (the useful part of) it to comm-central → (Bv1-CC) Copy (the useful part of) it to comm-central
[Checkin: Comment 35]
Updated•15 years ago
|
Blocks: C192ConfSync
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•