Local build failure after bug 1515579

RESOLVED FIXED in Thunderbird 67.0

Status

defect
RESOLVED FIXED
7 months ago
4 months ago

People

(Reporter: Paenglab, Assigned: glandium)

Tracking

(Blocks 1 bug)

unspecified
Thunderbird 67.0
Desktop
Windows
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(6 attachments)

My failure:

23:54.85 toolkit/library/xul.dll
24:13.18 Traceback (most recent call last):
24:13.18   File "c:\mozilla-build\python\Lib\runpy.py", line 174, in _run_module_as_main
24:13.18     "__main__", fname, loader, pkg_name)
24:13.18   File "c:\mozilla-build\python\Lib\runpy.py", line 72, in _run_code
24:13.18     exec code in run_globals
24:13.18   File "z:\Mozilla\comm-central\python\mozbuild\mozbuild\action\check_binary.py", line 376, in <module>
24:13.18     sys.exit(main(sys.argv[1:]))
24:13.18   File "z:\Mozilla\comm-central\python\mozbuild\mozbuild\action\check_binary.py", line 372, in main
24:13.18     return checks(TARGET, options.binary)
24:13.18   File "z:\Mozilla\comm-central\python\mozbuild\mozbuild\action\check_binary.py", line 337, in checks
24:13.18     c(target, binary)
24:13.18   File "z:\Mozilla\comm-central\python\mozbuild\mozbuild\action\check_binary.py", line 176, in check_nsmodules
24:13.18     for line in get_output('dumpbin.exe', '-exports', binary):
24:13.18   File "z:\Mozilla\comm-central\python\mozbuild\mozbuild\util.py", line 935, in __call__
24:13.18     self[args] = self.func(*args)
24:13.18   File "z:\Mozilla\comm-central\python\mozbuild\mozbuild\action\check_binary.py", line 58, in get_output
24:13.18     return subprocess.check_output(cmd, env=env).splitlines()
24:13.18   File "c:\mozilla-build\python\Lib\subprocess.py", line 216, in check_output
24:13.18     process = Popen(stdout=PIPE, *popenargs, **kwargs)
24:13.18   File "c:\mozilla-build\python\Lib\subprocess.py", line 394, in __init__
24:13.18     errread, errwrite)
24:13.18   File "c:\mozilla-build\python\Lib\subprocess.py", line 644, in _execute_child
24:13.18     startupinfo)
24:13.18 WindowsError: [Error 2] Das System kann die angegebene Datei nicht finden
24:13.18 mozmake.EXE[4]: *** [z:/Mozilla/comm-central/config/rules.mk:700: xul.dll] Error 1
24:13.18 mozmake.EXE[4]: *** Deleting file 'xul.dll'
24:13.18 mozmake.EXE[3]: *** [z:/Mozilla/comm-central/config/recurse.mk:74: toolkit/library/target] Error 2
24:13.18 mozmake.EXE[3]: *** Waiting for unfinished jobs....
24:13.20 mozmake.EXE[2]: *** [z:/Mozilla/comm-central/config/recurse.mk:34: compile] Error 2
24:13.20 mozmake.EXE[1]: *** [z:/Mozilla/comm-central/config/rules.mk:424: default] Error 2
24:13.21 mozmake.EXE: *** [client.mk:125: build] Error 2

When I back-out bug 1515579 I can build without problems.
Flags: needinfo?(mh+mozilla)
I got exactly the same error.

How about backing out bug 1515579 due to man regressions about local Windows builds?
So the easy solution here would be to use the full path to dumpbin, but on the other hand, that would mean keeping a dependency on MSVC even when building with clang-cl.

It also turns out that the check_binary and dependentlist programs, both using dumpbin, are using different tools on different platforms, while, in fact, we have a single tool available on all platforms: llvm-readobj. Even if it takes different options of different platforms, and outputs different informations, it seems overall better to rely on a single tool. So I'm going to rewrite both using llvm-readobj.
Flags: needinfo?(mh+mozilla)
... except clang/llvm windows installer doesn't come with llvm-readobj. It does come with llvm-objdump, though.
Assignee: nobody → mh+mozilla
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/8456feb780f7
Add a configure check for llvm-objdump. r=firefox-build-system-reviewers,mshal
https://hg.mozilla.org/integration/autoland/rev/09ee05a4cc30
Use llvm-objdump instead of objdump in old-configure. r=firefox-build-system-reviewers,mshal
https://hg.mozilla.org/integration/autoland/rev/2e6bec87c9f3
Use llvm-objdump exclusively for windows in dependentlibs.py. r=firefox-build-system-reviewers,mshal
https://hg.mozilla.org/integration/autoland/rev/4f53ede33517
Use llvm-objdump for mac in dependentlibs.py, too. r=firefox-build-system-reviewers,mshal
https://hg.mozilla.org/integration/autoland/rev/53d93ee3ad84
Use llvm-objdump for ELF in dependentlibs.py, too. r=firefox-build-system-reviewers,mshal
https://hg.mozilla.org/integration/autoland/rev/24ebb52d21fa
Use llvm-objdump for symbol related tests in check_binary.py. r=firefox-build-system-reviewers,mshal
Depends on: 1523056
Status: RESOLVED → REOPENED
Flags: needinfo?(mh+mozilla)
Resolution: FIXED → ---
Target Milestone: Thunderbird 66.0 → ---

cf. 1523056 comment 5
llvm-objdump only shows the contents of the .dynamic section starting from version 7 :(

Flags: needinfo?(mh+mozilla)

Relanding without the ELF part.

Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5f7e5c3ca87d
Add a configure check for llvm-objdump. r=mshal
https://hg.mozilla.org/integration/mozilla-inbound/rev/94dd43dcc7f2
Use llvm-objdump instead of objdump in old-configure. r=mshal
https://hg.mozilla.org/integration/mozilla-inbound/rev/51eeb5a2701f
Use llvm-objdump exclusively for windows in dependentlibs.py. r=mshal
https://hg.mozilla.org/integration/mozilla-inbound/rev/53ee4ba4044a
Use llvm-objdump for mac in dependentlibs.py, too. r=mshal
https://hg.mozilla.org/integration/mozilla-inbound/rev/d1b523e67100
Use llvm-objdump for symbol related tests in check_binary.py. r=mshal
Depends on: 1524079
Depends on: 1526249
Blocks: 1538043
You need to log in before you can comment on or make changes to this bug.