Closed
Bug 950332
Opened 12 years ago
Closed 12 years ago
[trunk] Thunderbird build process is broken while processing codegen.pp : no such file or directory.
Categories
(Thunderbird :: Build Config, defect)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: fredbezies, Unassigned)
References
Details
Noticed this "bug" very recently.
I'm using an external objdir directory to get a "clean" trunk source code for Thunderbird.
Here is the .mozconfig I'm using :
mk_add_options PYTHON=/usr/bin/python2
mk_add_options AUTOCONF=autoconf-2.13
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-tb
ac_add_options --enable-application=mail
ac_add_options --enable-optimize
ac_add_options --with-ccache
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-crashreporter
ac_add_options --disable-installer
ac_add_options --disable-warnings-as-errors
ac_add_options --disable-debug-symbols
When I type this morning make -f client.mk depend, it ends with this error log :
"Traceback (most recent call last):
File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/action/webidl.py", line 17, in <module>
sys.exit(main(sys.argv[1:]))
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/action/webidl.py", line 12, in main
manager = BuildSystemWebIDL.from_environment().manager
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/base.py", line 175, in from_environment
if not samepath(topobjdir, config_topobjdir) \
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/base.py", line 41, in samepath
return os.path.samefile(path1, path2)
File "/home/fred/logs/mail/objdir-tb/mozilla/_virtualenv/lib/python2.7/posixpath.py", line 163, in samefile
s2 = os.stat(f2)
OSError: [Errno 2] No such file or directory: '/home/fred/logs/mail/src/objdir-tb'
Creating makedepend file .deps/xpcAccEvents.pp"
After looking at last changes for both python/mozbuild/mozbuild/base.py and python/mozbuild/mozbuild/action/webidl.py I found that bug 928195 could be "guilty".
Comment 1•12 years ago
|
||
I built it today successfully. Did you forget delete the old build dir first?
Comment 2•12 years ago
|
||
Old obj dir (if it wasn't clear). I think if in-tree obj dirs arenät even supported anymore, so your setup isn't unusual.
Reporter | ||
Comment 3•12 years ago
|
||
Removed old objdir, cleaned ccache. Tried and failed again before I report this bug.
Reporter | ||
Comment 4•12 years ago
|
||
Tried again. Still broken at the same point. Could it be related to python3 as usual on archlinux ?
Reporter | ||
Comment 5•12 years ago
|
||
And I'm getting into trouble with Mozilla Firefox too. Got this in ehe end of mozilla firefox building process :
44:01.94 /home/fred/logs/fox/src/browser/locales/en-US/searchplugins/yahoo.xml: WARNING: no preprocessor directives found
44:01.95 /home/fred/logs/fox/src/browser/locales/en-US/searchplugins/wikipedia.xml: WARNING: no preprocessor directives found
44:05.99 firefox
44:06.67 xpcshell
44:06.67 plugin-container
44:22.29 Traceback (most recent call last):
44:22.29 File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
44:22.30 "__main__", fname, loader, pkg_name)
44:22.30 File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
44:22.30 exec code in run_globals
44:22.30 File "/home/fred/logs/fox/src/python/mozbuild/mozbuild/action/webidl.py", line 17, in <module>
44:22.30 sys.exit(main(sys.argv[1:]))
44:22.30 File "/home/fred/logs/fox/src/python/mozbuild/mozbuild/action/webidl.py", line 13, in main
44:22.30 manager.generate_build_files()
44:22.30 File "/home/fred/logs/fox/src/dom/bindings/mozwebidlcodegen/__init__.py", line 287, in generate_build_files
44:22.30 written = self.generate_example_files(interface)
44:22.30 File "/home/fred/logs/fox/src/dom/bindings/mozwebidlcodegen/__init__.py", line 308, in generate_example_files
44:22.30 root = CGExampleRoot(self.config, interface)
44:22.30 File "/home/fred/logs/fox/src/dom/bindings/Codegen.py", line 10314, in __init__
44:22.30 descriptor = config.getDescriptor(interfaceName, False)
44:22.30 File "/home/fred/logs/fox/src/dom/bindings/Configuration.py", line 176, in getDescriptor
44:22.30 for d in self.descriptorsByName[interfaceName]:
44:22.30 KeyError: u'TestExampleProxyInterface'
Opening another bug could be useful I think...
Reporter | ||
Comment 6•12 years ago
|
||
Other news. Now it tells me it is broken in codegen.pp
Creating makedepend file .deps/event_impl_gen.pp
Makefile:69: codegen.pp: No such file or directory
Traceback (most recent call last):
File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/action/webidl.py", line 17, in <module>
sys.exit(main(sys.argv[1:]))
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/action/webidl.py", line 12, in main
manager = BuildSystemWebIDL.from_environment().manager
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/base.py", line 175, in from_environment
if not samepath(topobjdir, config_topobjdir) \
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/base.py", line 41, in samepath
return os.path.samefile(path1, path2)
File "/home/fred/logs/mail/objdir-tb/mozilla/_virtualenv/lib/python2.7/posixpath.py", line 163, in samefile
s2 = os.stat(f2)
OSError: [Errno 2] No such file or directory: '/home/fred/logs/mail/src/objdir-tb'
Makefile:72: recipe for target 'codegen.pp' failed
make[5]: *** [codegen.pp] Error 1
/home/fred/logs/mail/src/mozilla/config/recurse.mk:189: recipe for target 'bindings_export' failed
make[4]: *** [bindings_export] Error 2
make[4]: *** Waiting for unfinished jobs....
/home/fred/logs/mail/src/mozilla/config/recurse.mk:189: recipe for target 'export' failed
make[3]: *** [export] Error 2
/home/fred/logs/mail/src/mozilla/config/recurse.mk:161: recipe for target 'export' failed
make[2]: *** [export] Error 2
Makefile:52: recipe for target 'export' failed
make[1]: *** [export] Error 2
client.mk:374: recipe for target 'depend' failed
make: *** [depend] Error 2
Reporter | ||
Updated•12 years ago
|
Summary: Since landing of bug 928195, build process cannot use an external objdir directory → [trunk] Thunderbird build process is broken while processing codegen.pp : no such file or directory.
Reporter | ||
Comment 7•12 years ago
|
||
Replacing in my .mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-tb
by mk_add_options MOZ_OBJDIR=/home/fred/logs/mail/objdir-tb removed the bug, even if I still get Makefile:69: codegen.pp: No such file or directory
Comment 8•12 years ago
|
||
Comment #5 is due to --disable-tests and was fixed in bug 950736.
The other stacks with os.stat() in them seem interesting. Comment #7 is *very* interesting. Seems like an error in environment resolution.
Go to the dom/bindings directory in your objdir and run |mach environment|. Do you see anything unexpected?
Blocks: 928195
Flags: needinfo?(fredbezies)
Reporter | ||
Comment 9•12 years ago
|
||
I know about bug in comment #5. I followed it.
I had to copy mach.
Here is the result :
[fred@fredo-arch bindings]$ python2 mach environment
platform:
Linux-3.12.5-1-ARCH-x86_64-with-glibc2.2.5
python version:
2.7.6 (default, Nov 26 2013, 12:52:49)
[GCC 4.8.2]
python prefix:
/usr
mach cwd:
/home/fred/logs/mail/objdir-tb/mozilla/dom/bindings
os cwd:
/home/fred/logs/mail/objdir-tb/mozilla/dom/bindings
mach directory:
/home/fred/logs/mail/src/mozilla
state directory:
/home/fred/.mozbuild
mozconfig path:
/home/fred/logs/mail/src/.mozconfig
object directory:
/home/fred/logs/mail/objdir-tb/mozilla
mozconfig configure args:
--enable-application=mail
--enable-optimize
--enable-calendar
--with-ccache
--disable-debug
--disable-tests
--disable-crashreporter
--disable-installer
--disable-warnings-as-errors
--disable-debug-symbols
mozconfig extra make args:
PYTHON=/usr/bin/python2
AUTOCONF=autoconf-2.13
mozconfig make flags:
config topsrcdir:
/home/fred/logs/mail/src/mozilla
config topobjdir:
/home/fred/logs/mail/objdir-tb/mozilla
Flags: needinfo?(fredbezies)
Comment 10•12 years ago
|
||
OSError: [Errno 2] No such file or directory: '/home/fred/logs/mail/src/objdir-tb'
is worrisome. Looks like something is getting confused about the location of the objdir. That something seems to be in python/mozbuild/mozbuild/base.py:175.
Do you know how to debug Python scripts? Insert the following to enter an interactive debugger at run-time:
import pdb; pdb.set_trace()
Then print out some variables and tell me what doesn't make sense.
jcranmer can likely help here.
Reporter | ||
Comment 11•12 years ago
|
||
I added import pdb; pdb.set_trace() in top of python/mozbuild/mozbuild/base.py
Here is the log :
-> from mach.mixin.logging import LoggingMixin
(Pdb)
Traceback (most recent call last):
File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/action/webidl.py", line 7, in <module>
from mozwebidlcodegen import BuildSystemWebIDL
File "/home/fred/logs/mail/src/mozilla/dom/bindings/mozwebidlcodegen/__init__.py", line 20, in <module>
from mozbuild.base import MozbuildObject
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/base.py", line 17, in <module>
from mach.mixin.logging import LoggingMixin
File "/home/fred/logs/mail/src/mozilla/python/mozbuild/mozbuild/base.py", line 17, in <module>
from mach.mixin.logging import LoggingMixin
File "/usr/lib64/python2.7/bdb.py", line 49, in trace_dispatch
return self.dispatch_line(frame)
File "/usr/lib64/python2.7/bdb.py", line 68, in dispatch_line
if self.quitting: raise BdbQuit
bdb.BdbQuit
I don't know if it is really helpful, but this is what I get.
Comment 12•12 years ago
|
||
(In reply to Frederic Bezies from comment #7)
> Replacing in my .mozconfig
>
> mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-tb
>
> by mk_add_options MOZ_OBJDIR=/home/fred/logs/mail/objdir-tb removed the bug,
> even if I still get Makefile:69: codegen.pp: No such file or directory
So, you have a valid workaround, right? (Don't use relative paths when defining MOZ_OBJDIR.)
The make warning about codegen.pp missing can be safely ignored. You'll see that on first build.
I'm tempted to add this to the long list of bugs on the "comm-central build system integration is fragile" list. The cure is to merge c-c into m-c. That's apparently being worked on.
Can we resolve this WORKSFORME?
Reporter | ||
Comment 13•12 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #12)
[...]
> So, you have a valid workaround, right? (Don't use relative paths when
> defining MOZ_OBJDIR.)
Yes. Kinda "ugly" but working one !
>
> The make warning about codegen.pp missing can be safely ignored. You'll see
> that on first build.
>
> I'm tempted to add this to the long list of bugs on the "comm-central build
> system integration is fragile" list. The cure is to merge c-c into m-c.
> That's apparently being worked on.
Great.
>
> Can we resolve this WORKSFORME?
Yes. The only solution. Feel free to close it. And thanks for your help !
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•