Local build failure after bug 1515579

RESOLVED FIXED in Thunderbird 67.0


7 months ago
4 months ago


(Reporter: Paenglab, Assigned: glandium)


(Blocks 1 bug)

Thunderbird 67.0
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)



(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:
Add a configure check for llvm-objdump. r=firefox-build-system-reviewers,mshal
Use llvm-objdump instead of objdump in old-configure. r=firefox-build-system-reviewers,mshal
Use llvm-objdump exclusively for windows in dependentlibs.py. r=firefox-build-system-reviewers,mshal
Use llvm-objdump for mac in dependentlibs.py, too. r=firefox-build-system-reviewers,mshal
Use llvm-objdump for ELF in dependentlibs.py, too. r=firefox-build-system-reviewers,mshal
Use llvm-objdump for symbol related tests in check_binary.py. r=firefox-build-system-reviewers,mshal
Depends on: 1523056
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:
Add a configure check for llvm-objdump. r=mshal
Use llvm-objdump instead of objdump in old-configure. r=mshal
Use llvm-objdump exclusively for windows in dependentlibs.py. r=mshal
Use llvm-objdump for mac in dependentlibs.py, too. r=mshal
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.