Closed
Bug 1220501
Opened 9 years ago
Closed 8 years ago
IOError: [Errno 2] No such file or directory: objdir/dist/bin/platform.ini
Categories
(Thunderbird :: Build Config, defect)
Thunderbird
Build Config
Tracking
(Not tracked)
RESOLVED
FIXED
Thunderbird 45.0
People
(Reporter: aleth, Assigned: aleth)
Details
(Keywords: intermittent-failure)
Attachments
(2 files, 1 obsolete file)
TB build orange, can be reproduced locally, also seen for IB.
Assignee | ||
Comment 1•9 years ago
|
||
This happens because e.g. toolkit/mozapps/installer/package-name.mk runs before toolkit/xre/Makefile.in invokes make-platformini.py.
Assignee | ||
Updated•9 years ago
|
Severity: normal → major
Comment 2•9 years ago
|
||
(In reply to aleth [:aleth] from comment #1) > This happens because e.g. toolkit/mozapps/installer/package-name.mk runs > before toolkit/xre/Makefile.in invokes make-platformini.py. The above must be the explanation. I noticed the same issue and figured out platform.ini seems to be available only in a successful build. Quote a paragraph from https://bugzilla.mozilla.org/show_bug.cgi?id=1222591#c4 --- Unrelated (6) platform.ini is missing: Since I specify |make -j4| or something like that during my local build, the output is intermixed from different |make| invocation and is hard to see, but when I searched "No such file" I noticed the following errors concerning "platform.ini" --- begin quote /NREF-COMM-CENTRAL/comm-central/ldap/c-sdk/libraries/libldap/unbind.c: In function ‘ldap_unbind’: /NREF-COMM-CENTRAL/comm-central/ldap/c-sdk/libraries/libldap/unbind.c:58:2: warning: too many arguments for format [-Wformat-extra-args] LDAPDebug( LDAP_DEBUG_TRACE, "ldap_unbind\n", 0, 0, 0 ); ^ /NREF-COMM-CENTRAL/comm-central/ldap/c-sdk/libraries/libldap/unbind.c:58:2: warning: too many arguments for format [-Wformat-extra-args] /NREF-COMM-CENTRAL/comm-central/ldap/c-sdk/libraries/libldap/unbind.c: In function ‘nsldapi_send_unbind’: /NREF-COMM-CENTRAL/comm-central/ldap/c-sdk/libraries/libldap/unbind.c:202:2: warning: too many arguments for format [-Wformat-extra-args] LDAPDebug( LDAP_DEBUG_TRACE, "nsldapi_send_unbind\n", 0, 0, 0 ); ^ /NREF-COMM-CENTRAL/comm-central/ldap/c-sdk/libraries/libldap/unbind.c:202:2: warning: too many arguments for format [-Wformat-extra-args] url.o vorg.o Traceback (most recent call last): File "/NREF-COMM-CENTRAL/comm-central/mozilla/config/printconfigsetting.py", line 16, in <module> with open(file) as fh: IOError: [Errno 2] No such file or directory: '/NREF-COMM-CENTRAL/objdir-tb3/dist/bin/platform.ini' In file included from ldvector.c:298:0: /NREF-COMM-CENTRAL/objdir-tb3/dist/private/nss/verref.h: In function ‘FREEBL_GetVector’: /NREF-COMM-CENTRAL/objdir-tb3/dist/private/nss/verref.h:31:25: warning: unused variable ‘_nss_version_c’ [-Wunused-variable] volatile const char _nss_version_c = NSS_VERSION_VARIABLE[0]; ^ Traceback (most recent call last): File "/NREF-COMM-CENTRAL/comm-central/mozilla/config/printconfigsetting.py", line 16, in <module> with open(file) as fh: IOError: [Errno 2] No such file or directory: '/NREF-COMM-CENTRAL/objdir-tb3/dist/bin/platform.ini' userstatusctrl.o ... --- end quote I have no idea what triggered the build script(s) look for platform.ini. Looking at the existing platform.ini on my system, I surmize this file is probably created only during the successful build. The existing platform.ini files are all from successful different builds and from Debian or Mozilla package installations. Hmm, so trying to rely on it during build is not useful IMHO. platform.ini on a particular system of mine (Debian GNU/Linux 64-bit): ishikawa@ip030:/NREF-COMM-CENTRAL/comm-central$ locate platform.ini /REF-OBJ-DIR/objdir-tb3/toolkit/xre/platform.ini /TB-NEW/64bits-transition/home/mailtest/thunderbird/platform.ini /TEST-MAIL-DIR/objdir-tb3/mozilla/dist/bin/platform.ini /TEST-MAIL-DIR/objdir-tb3/mozilla/toolkit/xre/platform.ini /WWW-DIR/ASAN-OBJ-DIR/objdir-tb3/dist/bin/platform.ini /WWW-DIR/ASAN-OBJ-DIR/objdir-tb3/toolkit/xre/platform.ini /home/ishikawa/OLD-HOME/firefox/platform.ini /home/ishikawa/OLD-HOME/thunderbird/platform.ini /home/ishikawa/ff-objdir-tb3/dist/bin/platform.ini /home/ishikawa/ff-objdir-tb3/toolkit/xre/platform.ini /home/ishikawa/firefox/platform.ini /home/ishikawa/repos/thunderbird/platform.ini /home/mtest2/firefox/platform.ini /home/mtest2/firefox/updated/platform.ini /usr/lib/icedove/platform.ini /usr/lib/iceweasel/platform.ini ---
Assignee | ||
Comment 3•9 years ago
|
||
It looks like I (currently) can't reproduce this locally any more on OSX for TB. For IB, it's still there, and the problematic package-name.mk call is from im/build.mk, which is called from mozilla/Makefile.in.
Assignee | ||
Comment 4•9 years ago
|
||
Filed a separate bug for Instantbird, Bug 1222740.
Comment 5•9 years ago
|
||
(In reply to aleth [:aleth] from comment #3) > It looks like I (currently) can't reproduce this locally any more on OSX for > TB. > > For IB, it's still there, and the problematic package-name.mk call is from > im/build.mk, which is called from mozilla/Makefile.in. My observation in comment 2 was under linux (Debian GNU/Linux 64-bit).
Assignee | ||
Comment 6•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → aleth
Status: NEW → ASSIGNED
Assignee | ||
Comment 7•9 years ago
|
||
Comment on attachment 8685459 [details] [diff] [review] Avoid calling printconfigsetting.py too early from mail/app/Makefile.in Review of attachment 8685459 [details] [diff] [review]: ----------------------------------------------------------------- This patch "fixes" the problem by not running the offending calls when the makefile is entered during the build, rather than at the end. It works, but it would be better to figure out why that makefile is evaluated early. No idea how to do that though.
Attachment #8685459 -
Flags: feedback?(Pidgeot18)
Updated•9 years ago
|
Keywords: intermittent-failure
Comment 8•9 years ago
|
||
Comment on attachment 8685459 [details] [diff] [review] Avoid calling printconfigsetting.py too early from mail/app/Makefile.in Review of attachment 8685459 [details] [diff] [review]: ----------------------------------------------------------------- For this portion of the build system, you'd probably get better information from glandium or gps. I'm not entirely sure where platform.ini is being generated, but I'm nervous about the impact this has on setting the DEFINES in relevant files.
Attachment #8685459 -
Flags: feedback?(Pidgeot18)
Assignee | ||
Comment 9•9 years ago
|
||
Comment on attachment 8685459 [details] [diff] [review] Avoid calling printconfigsetting.py too early from mail/app/Makefile.in Review of attachment 8685459 [details] [diff] [review]: ----------------------------------------------------------------- > I'm not entirely sure where platform.ini is being generated, but I'm nervous > about the impact this has on setting the DEFINES in relevant files. It's generated in toolkit/xre/Makefile.in. This is in effect another split build system issue...
Attachment #8685459 -
Flags: feedback?(gps)
Comment 10•9 years ago
|
||
Comment on attachment 8685459 [details] [diff] [review] Avoid calling printconfigsetting.py too early from mail/app/Makefile.in Review of attachment 8685459 [details] [diff] [review]: ----------------------------------------------------------------- Hacks, hacks everywhere. There is likely a better way to do this (like attaching the action to a specific target). But I don't feel like paging this make file back in my head to suggest the proper solution.
Attachment #8685459 -
Flags: review+
Attachment #8685459 -
Flags: feedback?(gps)
Attachment #8685459 -
Flags: feedback+
Comment 11•9 years ago
|
||
Comment on attachment 8685459 [details] [diff] [review] Avoid calling printconfigsetting.py too early from mail/app/Makefile.in Review of attachment 8685459 [details] [diff] [review]: ----------------------------------------------------------------- > +ifneq ("$(wildcard $(LIBXUL_DIST)/bin/platform.ini)","") > +# This makefile is evaluated multiple times. The following calls fail unless > +# we are at the end of the build, at which point platform.ini exists. > +GRE_MILESTONE = $(shell $(PYTHON) $(MOZILLA_SRCDIR)/config/printconfigsetting.py $(LIBXUL_DIST)/bin/platform.ini Build Milestone) > +GRE_BUILDID = $(shell $(PYTHON) $(MOZILLA_SRCDIR)/config/printconfigsetting.py $(LIBXUL_DIST)/bin/platform.ini Build BuildID) LIBXUL_DIST was killed by mozilla-central changeset a1ded8c2c798.
Assignee | ||
Comment 12•9 years ago
|
||
Attachment #8691636 -
Flags: review?(gps)
Assignee | ||
Updated•9 years ago
|
Attachment #8685459 -
Attachment is obsolete: true
Assignee | ||
Comment 13•9 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #10) > Hacks, hacks everywhere. There is likely a better way to do this (like > attaching the action to a specific target). But I don't feel like paging > this make file back in my head to suggest the proper solution. This patch would be less hacky: as far as I can tell, those two compile defines are actually not needed (application.ini and platform.ini *seem* to get populated correctly without them). But maybe I have overlooked something?
Updated•9 years ago
|
Attachment #8691636 -
Flags: review?(gps) → review+
Assignee | ||
Comment 14•9 years ago
|
||
https://hg.mozilla.org/comm-central/rev/0c42bcd7a5f5ac770c28212eacbbb4630c4b8a7b Bug 1220501 - Remove unused compile defines from mail/app/Makefile.in. r=gps
Assignee | ||
Comment 15•9 years ago
|
||
Landed with gps' review, but requesting needinfo from Fallen and jcranmer to double-check there is no split-build-system reason why we must keep these, as I just noticed Calendar already uses an ifdef: https://dxr.mozilla.org/comm-central/source/calendar/lightning/Makefile.in#45
Flags: needinfo?(philipp)
Flags: needinfo?(Pidgeot18)
Assignee | ||
Comment 16•9 years ago
|
||
https://hg.mozilla.org/comm-central/rev/36242a48149d6aed19eed49e93368c88649f58c0 Bug 1220501 - Remove unused compile defines from mail/app/Makefile.in: followup to fix typo. rs=bustage-fix
Comment 17•8 years ago
|
||
I seem to recall GRE_MILESTONE is going away in another bug? I'm not quite sure what to answer here, if they are not used in Thunderbird files, then removing is probably ok. aleth, anything left to do here?
Flags: needinfo?(philipp) → needinfo?(aleth)
Comment 18•8 years ago
|
||
GRE_MILESTONE is one of the parts of the build system outside my area of expertise.
Flags: needinfo?(Pidgeot18)
Assignee | ||
Comment 19•8 years ago
|
||
(In reply to Philipp Kewisch [:Fallen] from comment #17) > I seem to recall GRE_MILESTONE is going away in another bug? I'm not quite > sure what to answer here, if they are not used in Thunderbird files, then > removing is probably ok. aleth, anything left to do here? GRE_MILESTONE is still around for now, but GRE_BUILDID has gone away (see Bug 1248246). Anyway, this bug here landed ages ago and hasn't seemed to cause any regressions, so I think we are done. The needinfo at the time was meant as a sanity check since comment 18 holds for me too ;)
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: needinfo?(aleth)
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 45.0
Comment 20•8 years ago
|
||
I still appear to be getting this bug when compiling xulrunner (45.0.1) in debian 7 64bit (chroot): 6:41.12 In the directory /ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/widget/gtk 6:41.12 The following command failed to execute properly: 6:41.12 c++ -o Unified_cpp_widget_gtk1.o -c -I/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/stl_wrappers -I/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/system_wrappers -include /ramdisk/mozilla-release/config/gcc_hidden.h -DOS_POSIX=1 -DOS_LINUX=1 -DCAIRO_GFX -DMOZ_APP_NAME="xulrunner" -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/ramdisk/mozilla-release/widget/gtk -I. -I../../ipc/ipdl/_ipdlheaders -I/ramdisk/mozilla-release/ipc/chromium/src -I/ramdisk/mozilla-release/ipc/glue -I/ramdisk/mozilla-release/layout/generic -I/ramdisk/mozilla-release/layout/xul -I/ramdisk/mozilla-release/other-licenses/atk-1.0 -I/ramdisk/mozilla-release/widget -I/ramdisk/mozilla-release/widget/x11 -I../../dist/include -I/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/include/nspr -I/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_widget_gtk1.o.pp -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -freorder-blocks -Os -fomit-frame-pointer -I/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/include/cairo -I/ramdisk/mozilla-release/widget/gtk/compat -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-unix-print-2.0 /ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/widget/gtk/Unified_cpp_widget_gtk1.cpp 6:41.12 make[5]: *** [Unified_cpp_widget_gtk1.o] Error 1 6:41.12 make[5]: *** Waiting for unfinished jobs.... 6:47.27 make[4]: *** [widget/gtk/target] Error 2 6:47.27 make[4]: *** Waiting for unfinished jobs.... 7:28.21 make[3]: *** [compile] Error 2 7:28.21 make[2]: *** [default] Error 2 7:28.21 make[1]: *** [realbuild] Error 2 7:28.21 make: *** [build] Error 2 0:00.23 make[3]: Entering directory `/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/xulrunner/installer' 0:00.23 Makefile:73: FULL_NSPR_CFLAGS=-I\${includedir} 0:00.25 Traceback (most recent call last): 0:00.25 File "/ramdisk/mozilla-release/config/printconfigsetting.py", line 16, in <module> 0:00.25 with open(file) as fh: 0:00.25 IOError: [Errno 2] No such file or directory: '../../dist/bin/platform.ini' 0:00.29 Traceback (most recent call last): 0:00.29 File "/ramdisk/mozilla-release/config/printconfigsetting.py", line 16, in <module> 0:00.29 with open(file) as fh: 0:00.29 IOError: [Errno 2] No such file or directory: '../../dist/bin/platform.ini' 0:00.33 Traceback (most recent call last): 0:00.33 File "/ramdisk/mozilla-release/config/printconfigsetting.py", line 16, in <module> 0:00.33 with open(file) as fh: 0:00.33 IOError: [Errno 2] No such file or directory: '../../dist/bin/platform.ini' 0:00.46 Error: "components/interfaces.manifest" is included from "chrome.manifest", which is outside "components" 0:00.52 Warning: Skipping nsinstall 0:00.52 Traceback (most recent call last): 0:00.52 File "/ramdisk/mozilla-release/toolkit/mozapps/installer/packager.py", line 406, in <module> 0:00.52 main() 0:00.52 File "/ramdisk/mozilla-release/toolkit/mozapps/installer/packager.py", line 358, in main 0:00.52 copier.add(mozpath.join(respath, 'removed-files'), removals) 0:00.52 File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__ 0:00.52 self.gen.next() 0:00.52 File "/ramdisk/mozilla-release/python/mozbuild/mozpack/errors.py", line 131, in accumulate 0:00.52 raise AccumulatedErrors() 0:00.52 mozpack.errors.AccumulatedErrors 0:00.53 make[3]: *** [stage-package] Error 1 0:00.53 make[3]: Leaving directory `/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/xulrunner/installer' 0:00.53 make[2]: *** [make-package] Error 2 0:00.53 make[2]: Leaving directory `/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/xulrunner/installer' 0:00.53 make[1]: *** [default] Error 2 0:00.53 make[1]: Leaving directory `/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu/xulrunner/installer' 0:00.53 make: *** [package] Error 2 0:00.53 make: Leaving directory `/ramdisk/mozilla-release/obj-x86_64-unknown-linux-gnu' .mozconfig: mk_add_options OS_TARGET=Linux ac_add_options --enable-application=xulrunner ac_add_options --disable-javaxpcom ac_add_options --enable-alsa ac_add_options --disable-pulseaudio ac_add_options --disable-permissions ac_add_options --disable-crashreporter ac_add_options --disable-updater ac_add_options --disable-parental-controls ac_add_options --disable-feeds ac_add_options --prefix=/usr ac_add_options --enable-default-toolkit=cairo-gtk2 ac_add_options --enable-pango ac_add_options --disable-mozril-geoloc ac_add_options --enable-svg ac_add_options --enable-mathml ac_add_options --disable-gnomevfs ac_add_options --disable-gconf ac_add_options --disable-dbus ac_add_options --disable-gnomeui ac_add_options --disable-gnomeui ac_add_options --disable-mochitest ac_add_options --disable-debug ac_add_options --enable-canvas ac_add_options --disable-installer ac_add_options --enable-strip ac_add_options --enable-install-strip ac_add_options --disable-gstreamer ac_add_options --disable-apple-media ac_add_options --disable-necko-wifi ac_add_options --disable-gamepad ac_add_options --disable-tests ac_add_options --disable-printing ac_add_options --disable-accessibility What I don't understand is why it triggers with --disable-printing activated.
Comment 21•7 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
You need to log in
before you can comment on or make changes to this bug.
Description
•