Closed Bug 292388 Opened 20 years ago Closed 8 years ago

windows depends builds can fail after new NSS exports are added

Categories

(Firefox Build System :: General, defect)

x86
Windows XP
defect
Not set
minor

Tracking

(Not tracked)

RESOLVED INCOMPLETE
mozilla1.9alpha1

People

(Reporter: bryner, Assigned: wtc)

References

Details

Attachments

(1 file, 1 obsolete file)

When new NSS exported functions are added that shlibsign depends on, depend
builds can fail due to shlibsign finding the outdated DLL version in dist/bin. 
The new version has only been copied to dist/lib at the point we run shlibsign.
Attached patch NSS fixSplinter Review
This can be fixed in either NSS or PSM.

In NSS, we should list $(DIST)/lib before $(DIST)/bin
in the PATH environment variable for shlibsign because
NSS itself only installs its DLLs in $(DIST)/lib, so
$(DIST)/lib is guaranteed to have the latest NSS DLLs
when this script is invoked.
Attachment #182219 - Flags: superreview?(julien.pierre.bugs)
Attachment #182219 - Flags: review?(rrelyea)
Comment on attachment 182219 [details] [diff] [review]
NSS fix


Otherwise it seems to me this could be a problem in other depend buildst too.

FYI, the OS/2 sign.cmd doesn't set the BEGINLIBPATH to the bin directory at
all, only lib, so it would be immune.
Attachment #182219 - Flags: superreview?(julien.pierre.bugs) → superreview+
Perhaps we shouldn't add $(DIST)/bin to PATH on Windows,
either.  It is not needed.
Attached patch PSM fix (untested) (obsolete) — Splinter Review
This fix is much more complicated than the NSS fix.
So I think we should just fix the problem in NSS.
I am attaching this patch just for reference.  I
don't know if it is correct.
Our test script also adds both $(DIST)/lib and $(DIST)/bin
to PATH.  We should also change the ordering there to be
consistent:
http://lxr.mozilla.org/security/source/security/nss/tests/common/init.sh#175
http://lxr.mozilla.org/security/source/security/nss/tests/common/init.sh#179

The first one is used by MKS Toolkit.
The second one is used by Unix and Cygwin.
Both need to be changed.

This bug is not critical so its fix can wait until NSS 3.11.
Severity: normal → minor
Status: NEW → ASSIGNED
Whiteboard: [NSS 3.11]
Target Milestone: --- → mozilla1.9alpha
Comment on attachment 182219 [details] [diff] [review]
NSS fix

r+ relyea

Question, how is the old
libraries getting into the BIN directory anyway?
Attachment #182219 - Flags: review?(rrelyea) → review+
Depends on: 292427
Bob,

This problem only occurs when NSS is built as part of
a Mozilla client.  Mozilla's build system copies the
NSS shared libraries/DLLs to $(DIST)/bin after building
NSS.  See the "libs" makefile rule in mozilla/security/manager/Makefile.in:
http://lxr.mozilla.org/seamonkey/source/security/manager/Makefile.in#168
Whiteboard: [NSS 3.11]
Attachment #182221 - Attachment is obsolete: true
I just checked the NSS fix into NSS 3.11.  This bug
will be fixed when Mozilla upgrades to NSS 3.11 or
later.
No activity in 12 years. I'm going to mark INCOMPLETE.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: