Closed
Bug 1040009
Opened 9 years ago
Closed 8 years ago
.mozconfig configure options are ignored if objdir path is absolute
Categories
(Thunderbird :: Build Config, defect)
Tracking
(thunderbird34 fixed)
RESOLVED
FIXED
Thunderbird 34.0
Tracking | Status | |
---|---|---|
thunderbird34 | --- | fixed |
People
(Reporter: Taraman, Assigned: jcranmer)
References
Details
(Keywords: regression)
Attachments
(2 files, 3 obsolete files)
1.82 KB,
patch
|
glandium
:
review+
|
Details | Diff | Splinter Review |
11.74 KB,
patch
|
standard8
:
review+
|
Details | Diff | Splinter Review |
If the "mk_add_options MOZ_OBJDIR" make option in .mozconfig is set absolute and not relative, the configure options are ignored. steps to reproduce: 1. set MOZ-OBJDIR to e.g. /home/yourname/objdir 2. start configure expected results: configure options are shown when evaluted actual result: configure options are ignored.
Updated•9 years ago
|
Keywords: regression
Comment 1•9 years ago
|
||
Note this might be a fairly recent regression, or a platform specific issue. I recently did an update when m-c was at 161fadfcbadc (July 12th) and I am using an absolute path on Mac. Lightning was built for me with --enable-calendar.
Comment 2•9 years ago
|
||
Markus, is your objdir inside your comm-central directory or somewhere else?
Comment 3•9 years ago
|
||
I was wondering why builds took so long. about:buildconfig doesn't mention --disable-optimize which i normally use (and saves a lot of time)
Reporter | ||
Comment 4•9 years ago
|
||
objdir resides in @TOPSRCDIR@/../objdir also when I set it with an absolute path.
Comment 5•9 years ago
|
||
You might be seeing bug 1036667? My objdir is at an external location.
Reporter | ||
Comment 6•9 years ago
|
||
(In reply to Magnus Melin from comment #5) > You might be seeing bug 1036667? > My objdir is at an external location. markus@ubuntu:~$ echo $MOZCONFIG markus@ubuntu:~$ I don't think so...
Comment 7•9 years ago
|
||
Just for comparison, could you try an absolute objdir that is inside your comm-central directory?
Reporter | ||
Comment 8•9 years ago
|
||
absolute dir inside comm-central works.
Comment 9•9 years ago
|
||
What does blocking Bug 1035096 mean here, that it's a regression from that bug?
Comment 10•9 years ago
|
||
(In reply to Frank Wein [:mcsmurf] from comment #9) > What does blocking Bug 1035096 mean here, that it's a regression from that > bug? Yes.
Assignee | ||
Comment 12•9 years ago
|
||
With this change, it's possible to simplify Thunderbird's configure to essentially mozilla/configure "$@" --with-external-source-dir="$(dirname $0)".
Assignee | ||
Comment 13•9 years ago
|
||
This works locally on Linux. It busts automation horribly, though, since automation is explicitly looking for a mozilla/ directory.
Attachment #8467467 -
Flags: review?(standard8)
Comment 14•9 years ago
|
||
Comment on attachment 8467454 [details] [diff] [review] Add --enable-application=mail|im|suite support to mozilla-central Review of attachment 8467454 [details] [diff] [review]: ----------------------------------------------------------------- ::: configure.in @@ +3908,5 @@ > AC_MSG_ERROR([--enable-application=mobile is no longer supported.]) > fi > + # Support comm-central. > + if test -n "$EXTERNAL_SOURCE_DIR" ; then > + MOZ_BUILD_APP="../$MOZ_BUILD_APP" Why not $EXTERNAL_SOURCE_DIR/$MOZ_BUILD_APP?
Assignee | ||
Comment 15•9 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #14) > Comment on attachment 8467454 [details] [diff] [review] > Add --enable-application=mail|im|suite support to mozilla-central > > Review of attachment 8467454 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: configure.in > @@ +3908,5 @@ > > AC_MSG_ERROR([--enable-application=mobile is no longer supported.]) > > fi > > + # Support comm-central. > > + if test -n "$EXTERNAL_SOURCE_DIR" ; then > > + MOZ_BUILD_APP="../$MOZ_BUILD_APP" > > Why not $EXTERNAL_SOURCE_DIR/$MOZ_BUILD_APP? because MOZ_BUILD_APP needs to be relative in three lines, and EXTERNAL_SOURCE_DIR is absolute.
Comment 16•9 years ago
|
||
(In reply to Joshua Cranmer [:jcranmer] (high latency until August 11) from comment #15) > > Why not $EXTERNAL_SOURCE_DIR/$MOZ_BUILD_APP? > > because MOZ_BUILD_APP needs to be relative in three lines, and > EXTERNAL_SOURCE_DIR is absolute. I'd rather see a modification to that than to hardcode "../", which rubs me in the wrong direction: if you're hardcoding "..", why do we have $EXTERNAL_SOURCE_DIR in the first place and not a flag that enforces it to be ".."?
Comment 17•9 years ago
|
||
Comment on attachment 8467454 [details] [diff] [review] Add --enable-application=mail|im|suite support to mozilla-central Review of attachment 8467454 [details] [diff] [review]: ----------------------------------------------------------------- See comment 16.
Attachment #8467454 -
Flags: review?(mh+mozilla) → review-
Assignee | ||
Comment 18•9 years ago
|
||
If only using os.path.relpath weren't so bloody hard in configure.
Attachment #8467454 -
Attachment is obsolete: true
Attachment #8472488 -
Flags: review?(mh+mozilla)
Assignee | ||
Comment 20•9 years ago
|
||
(In reply to Ian Neal from comment #19) > Does Bug 1053071 impact on this? I looked at that; it shouldn't (it's just changing some not-useful genericity in moz.build).
Flags: needinfo?(Pidgeot18)
Assignee | ||
Comment 21•9 years ago
|
||
Meep, I needed another change to get 32-bit Linux working. It seems that the only way to get LDAP C-SDKS to pick up that the CXX is g++ -m32 is by using a cache file, and this is the easiest way to get it that cache file.
Attachment #8472488 -
Attachment is obsolete: true
Attachment #8472488 -
Flags: review?(mh+mozilla)
Attachment #8472627 -
Flags: review?(mh+mozilla)
Comment 22•9 years ago
|
||
Comment on attachment 8472627 [details] [diff] [review] Add --enable-application=mail|im|suite support to mozilla-central Review of attachment 8472627 [details] [diff] [review]: ----------------------------------------------------------------- ::: configure.in @@ +3915,5 @@ > fi > + # Support comm-central. > + if test -n "$EXTERNAL_SOURCE_DIR" ; then > + MOZ_BUILD_APP="$EXTERNAL_SOURCE_DIR/$MOZ_BUILD_APP" > + MOZ_BUILD_APP=`${PYTHON} -c "import os.path; print(os.path.relpath(\"${MOZ_BUILD_APP}\", \"${srcdir}\"))"` That seems awful for something that could be handled by adding another test without ${srcdir} below. @@ +9047,5 @@ > _save_srcdir="$srcdir" > srcdir="$srcdir/.." > _save_ac_configure_args="$ac_configure_args" > ac_configure_args="$_subconfigure_config_args" > + AC_OUTPUT_SUBDIRS("$_subconfigure_subdir",$cache_file) That's a separate issue, though.
Attachment #8472627 -
Flags: review?(mh+mozilla) → review-
Assignee | ||
Comment 23•9 years ago
|
||
Comment on attachment 8472627 [details] [diff] [review] Add --enable-application=mail|im|suite support to mozilla-central Review of attachment 8472627 [details] [diff] [review]: ----------------------------------------------------------------- After discussion on IRC, we determined that MOZ_BUILD_APP needs to be relative for moz.build anyways, so I'm re-requesting review on the patch. The configure change for LDAP is because I don't think it's really worth making two patches for two one-liners.
Attachment #8472627 -
Flags: review- → review?(mh+mozilla)
Assignee | ||
Comment 24•9 years ago
|
||
This contains the automation hack as well because, well, it kind of keeps the build working on Try and comm-central without needing to change the buildbot rules.
Attachment #8467467 -
Attachment is obsolete: true
Attachment #8467467 -
Flags: review?(standard8)
Attachment #8473412 -
Flags: review?(standard8)
Comment 25•9 years ago
|
||
Comment on attachment 8473412 [details] [diff] [review] Rough port of bug 943732 Ok, I've had a quick look at it and it seems fine.
Attachment #8473412 -
Flags: review?(standard8) → review+
Updated•9 years ago
|
Attachment #8472627 -
Flags: review?(mh+mozilla) → review+
Assignee | ||
Comment 26•9 years ago
|
||
Pushed to mozilla-central and comm-central: https://hg.mozilla.org/mozilla-central/rev/85135c5c6ba8 https://hg.mozilla.org/comm-central/rev/8f57b0340428
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 34.0
Comment 27•9 years ago
|
||
Comment on attachment 8473412 [details] [diff] [review] Rough port of bug 943732 >+# If we have a MOZ_OBJDIR that's set from the environment, ensure that it is an >+# absolute path. >+ifdef MOZ_OBJDIR >+MOZ_OBJDIR := $(shell $(PYTHON) -c "import os.path; print(os.path.join(\"$(TOPSRCDIR)\", \"$(MOZ_OBJDIR)\").replace('\\\\','/'))") >+endif I've been using MOZ_OBJDIR=. to refer to $(PWD) for almost exactly 4 years now, given that it's hardcoded on line 53...
Comment 28•9 years ago
|
||
Comment on attachment 8473412 [details] [diff] [review] Rough port of bug 943732 >+if test "$MOZ_AUTOMATION" -eq 1; then This warns if $MOZ_AUTOMATION isn't an integer expression...
Updated•9 years ago
|
status-thunderbird34:
--- → fixed
Updated•8 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 29•8 years ago
|
||
Hi all, this change broke quite a lot of ESR builds downstream. We used to set objdir via mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir in mozconfig. Now, with 31.3.0 this fails shortly after the build started: make[8]: Nothing to be done for 'export'. make[8]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla/dom/network/src' make[7]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla/dom/network' make[6]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla/dom/network' Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/python/mozbuild/mozbuild/action/webidl.py", line 17, in <module> sys.exit(main(sys.argv[1:])) File "/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/python/mozbuild/mozbuild/action/webidl.py", line 12, in main manager = BuildSystemWebIDL.from_environment().manager File "/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/python/mozbuild/mozbuild/base.py", line 198, in from_environment raise ObjdirMismatchException(topobjdir, _config_topobjdir) mozbuild.base.ObjdirMismatchException: Objdir mismatch: /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla != /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/objdir Makefile:73: recipe for target 'codegen.pp' failed make[6]: *** [codegen.pp] Error 1 make[6]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla/dom/bindings' /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/config/recurse.mk:179: recipe for target 'bindings_export' failed make[5]: *** [bindings_export] Error 2 make[5]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla/dom' /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/config/recurse.mk:179: recipe for target 'export' failed make[4]: *** [export] Error 2 make[4]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla/dom' /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/config/recurse.mk:153: recipe for target 'export' failed make[3]: *** [export] Error 2 make[3]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla' /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/config/rules.mk:592: recipe for target 'default' failed make[2]: *** [default] Error 2 make[2]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla' Makefile:52: recipe for target 'default' failed make[1]: *** [default] Error 2 make[1]: Leaving directory '/home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir' client.mk:391: recipe for target 'build' failed make: *** [build] Error 2 error: Bad exit status from /home/iurt/rpmbuild/tmp/rpm-tmp.xoJoFJ (%build) I believe this was introduced by the changes discussed in this bug, culprit is: mozbuild.base.ObjdirMismatchException: Objdir mismatch: /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/objdir/mozilla != /home/iurt/rpmbuild/BUILD/thunderbird-31.3.0/comm-esr31/mozilla/objdir
Assignee | ||
Comment 30•8 years ago
|
||
(In reply to doktor5000 from comment #29) > Hi all, this change broke quite a lot of ESR builds downstream. I'm interested to know why you think a patch that landed in the 34 timeframe and hasn't been uplifted since would break a build based on 31. Nevertheless, reopening a bug because it is broken only on a branch is not the right thing to do.
Status: REOPENED → RESOLVED
Closed: 9 years ago → 8 years ago
Resolution: --- → FIXED
Comment 31•8 years ago
|
||
(In reply to Joshua Cranmer [:jcranmer] from comment #30) > Nevertheless, reopening a bug because it is broken only on a branch is not > the right thing to do. Sorry, didn't find a clone function here in bugzilla. Opened https://bugzilla.mozilla.org/show_bug.cgi?id=1106883 and put you on CC.
You need to log in
before you can comment on or make changes to this bug.
Description
•