Closed Bug 1220501 Opened 10 years ago Closed 9 years ago

IOError: [Errno 2] No such file or directory: objdir/dist/bin/platform.ini

Categories

(Thunderbird :: Build Config, defect)

defect
Not set
major

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.
This happens because e.g. toolkit/mozapps/installer/package-name.mk runs before toolkit/xre/Makefile.in invokes make-platformini.py.
Severity: normal → major
(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 ---
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.
Filed a separate bug for Instantbird, Bug 1222740.
(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: nobody → aleth
Status: NEW → ASSIGNED
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)
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)
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 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 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.
Attachment #8685459 - Attachment is obsolete: true
(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?
Attachment #8691636 - Flags: review?(gps) → review+
https://hg.mozilla.org/comm-central/rev/0c42bcd7a5f5ac770c28212eacbbb4630c4b8a7b Bug 1220501 - Remove unused compile defines from mail/app/Makefile.in. r=gps
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)
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
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)
GRE_MILESTONE is one of the parts of the build system outside my area of expertise.
Flags: needinfo?(Pidgeot18)
(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: 9 years ago
Flags: needinfo?(aleth)
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 45.0
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.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: