Closed
Bug 552032
Opened 15 years ago
Closed 15 years ago
fix unify error "copyIfIdentical: files differ" when building i386/x86_64 UB
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: Nomis101, Assigned: ted)
References
Details
Attachments
(2 files)
(deleted),
application/zip
|
Details | |
(deleted),
patch
|
jaas
:
review+
|
Details | Diff | Splinter Review |
After appling the patch from Bug 551941 and building a i386/x86_64 universal binarie you get the following error:
/Volumes/Developer/temp/src/mozilla/build/macosx/universal/unify: copyIfIdentical: files differ:
/Volumes/Developer/temp/src/mozilla/obj-x86_64-apple-darwin10.2.0/x86_64/dist/firefox/Minefield.app/Contents/MacOS/components/browser.xpt,
/Volumes/Developer/temp/src/mozilla/obj-x86_64-apple-darwin10.2.0/i386/dist/firefox/Minefield.app/Contents/MacOS/components/browser.xpt
make[1]: *** [postflight_all] Error 1
make: *** [build] Error 2
FYI, I get the same error for Thunderbird:
/Volumes/Developer/temp/src/mozilla/build/macosx/universal/unify: copyIfIdentical: files differ:
/Volumes/Developer/temp/src/obj-x86_64-apple-darwin10.2.0/x86_64/mozilla/dist/thunderbird/Thunderbird.app/Contents/MacOS/components/mail.xpt,
/Volumes/Developer/temp/src/obj-x86_64-apple-darwin10.2.0/i386/mozilla/dist/thunderbird/Thunderbird.app/Contents/MacOS/components/mail.xpt
make[1]: *** [postflight_all] Error 1
make: *** [build] Error 2
I have compared both xpt's via FileMerge and HexEdit. The files are indeed not identical. But both files have the same size (479 KB).
Assignee | ||
Comment 2•15 years ago
|
||
Can you try running xpt_dump (should be in dist/bin or dist/host/bin) on the two xpt files, and see what the differences are? You can just attach the output here if you can't interpret it.
(In reply to comment #2)
>You can just attach the output
> here if you can't interpret it
OK, this are the outputs. You will find two differences. i386 has 1438 "Number of interfaces" and x86_64 "only" 1437. If you compare both files you will find the following additional lines in the i386 log (lacks in the x86_64 log):
- ::nsIAppleFileDecoder (3a2bb280-64b8-11d5-9daa-bb433143c53c):
Parent: ::nsIOutputStream
Flags:
Scriptable: TRUE
Function: FALSE
Methods:
uint32 Initialize(in nsIOutputStream, in nsIFile);
Constants:
No Constants
xpt_link was able to link both files...
Assignee | ||
Comment 4•15 years ago
|
||
Ah, ok, the source of that problem is the Makefile condition here:
http://mxr.mozilla.org/mozilla-central/source/netwerk/streamconv/public/Makefile.in#59
Since we're only compiling that interface on i386, the resulting xpt files aren't the same.
Josh: it should be fine to compile that interface on x86_64, just not the implementation, right?
(In reply to comment #4)
> Ah, ok, the source of that problem is the Makefile condition here:
> http://mxr.mozilla.org/mozilla-central/source/netwerk/streamconv/public/Makefile.in#59
>
> Since we're only compiling that interface on i386, the resulting xpt files
> aren't the same.
Thats it, if I remove this ifneq x86_64 statement (for testing purpose), than I'am able to build successfully a i386/x86_64 universal binary :-)
(In reply to comment #4)
> Josh: it should be fine to compile that interface on x86_64, just not the
> implementation, right?
Yes.
Assignee | ||
Comment 7•15 years ago
|
||
Simple patch.
Assignee: nobody → ted.mielczarek
Status: NEW → ASSIGNED
Attachment #433082 -
Flags: review?(joshmoz)
Attachment #433082 -
Flags: review?(joshmoz) → review+
pushed to mozilla-central
http://hg.mozilla.org/mozilla-central/rev/1eac55700989
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
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
•