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
•