--disable-updater build fails: toolkit/xre/nsXREDirProvider.cpp:22:10: fatal error: 'commonupdatedir.h' file not found
Categories
(Firefox :: Untriaged, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox64 | --- | unaffected |
firefox65 | --- | unaffected |
firefox66 | --- | fixed |
People
(Reporter: xftroxgpx, Assigned: mossop)
References
Details
(Keywords: regression)
Attachments
(1 file)
30.33 KB,
text/plain
|
Details |
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3622.0 Safari/537.36
Steps to reproduce:
Tried to build latest firefox-hg on ArchLinux x86_64
latest checked out changeset is:
changeset: 453851:e49161da5784
tag: tip
parent: 453845:a01a559aa611
parent: 453850:5ecfcb615bd6
user: Brindusan Cristian <cbrindusan@mozilla.com>
date: Tue Jan 15 06:38:06 2019 +0200
summary: Merge inbound to mozilla-central. a=merge
Problematic command that mach build executed:
/tmp
$ /usr/bin/ccache /usr/bin/clang++ -o Unified_cpp_toolkit_xre0.o -c -I/tmp/obj-x86_64-pc-linux-gnu/dist/stl_wrappers -I/tmp/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DPROXY_PRINTING=1 -DOS_POSIX=1 -DOS_LINUX=1 -DUSE_GLX_TEST '-DMOZ_APP_NAME="firefox"' '-DMOZ_APP_BASENAME="Firefox"' '-DMOZ_APP_DISPLAYNAME="Nightly"' '-DMOZ_APP_VERSION="66.0a1"' '-DOS_TARGET="Linux"' '-DMOZ_WIDGET_TOOLKIT="gtk3"' '-DTARGET_OS_ABI="Linux_x86_64-gcc3"' -DGRE_MILESTONE=66.0a1 -DAPP_VERSION=66.0a1 '-DAPP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}' -DMOZ_BUILD_APP_IS_BROWSER -DTOPOBJDIR=/tmp/obj-x86_64-pc-linux-gnu -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/xre -I/tmp/obj-x86_64-pc-linux-gnu/toolkit/xre -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/components/printingui -I/tmp/obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/chromium/src -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/glue -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/other-licenses/nsis/Contrib/CityHash/cityhash -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/components/find -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/components/printingui/ipc -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/components/windowwatcher -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/profile -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/config -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/dom/base -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/dom/commandhandler -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/dom/ipc -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/dom/webbrowserpersist -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/testing/gtest/mozilla -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/crashreporter -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/xpcom/build -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/widget/xremoteclient -I/tmp/obj-x86_64-pc-linux-gnu/dist/include -I/tmp/obj-x86_64-pc-linux-gnu/dist/include/nspr -I/tmp/obj-x86_64-pc-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /tmp/obj-x86_64-pc-linux-gnu/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -pipe -march=native -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -Ofast -fno-fast-math -D_FORTIFY_SOURCE=2 -mno-avx -fPIC -mretpoline -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -O2 -fomit-frame-pointer -funwind-tables -I/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/widget/gtk/compat-gtk3 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-3.2.1/include -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/uuid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0/unix-print -pthread -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-3.2.1/include -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -Wno-error=shadow -MD -MP -MF .deps/Unified_cpp_toolkit_xre0.o.pp -fcolor-diagnostics /tmp/obj-x86_64-pc-linux-gnu/toolkit/xre/Unified_cpp_toolkit_xre0.cpp
Actual results:
clang-7: warning: optimization flag '-fno-schedule-insns2' is not supported [-Wignored-optimization-argument]
In file included from /tmp/obj-x86_64-pc-linux-gnu/toolkit/xre/Unified_cpp_toolkit_xre0.cpp:137:
/home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/toolkit/xre/nsXREDirProvider.cpp:22:10: fatal error:
'commonupdatedir.h' file not found
#include "commonupdatedir.h"
^~~~~~~~~~~~~~~~~~~
1 error generated.
Expected results:
no error
$ find . -iname commonupdatedir.h -exec ls -la `realpath {}` \;
-rw-r--r-- 1 xftroxgpx xftroxgpx 1267 Dec 25 16:00 /home/xftroxgpx/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/./toolkit/mozapps/update/common/commonupdatedir.h
Comment 2•5 years ago
|
||
Are you using --disable-updater? I suspect that might be why this wasn't caught by automation.
I'm encountering this problem as well and I do use that flag.
Indeed I am:
ac_add_options --disable-updater
in mozconfig file
Did you find a workaround? other than --enable-updater which I presume would work.
Comment 4•5 years ago
•
|
||
Bug 1518587 moves the #include "commonupdatedir.h"
out of the #ifdef XP_WIN
but looking at the diff I'm not sure why it does that. Maybe moving it back will work.
Their left side file(toolkit/xre/nsXREDirProvider.cpp) looks different(older?) than mine, however I've found the diff between the last two changesets for that file:
hg diff -r 453243:5c1a8f06c28b -r 453758:394b490d3e2d toolkit/xre/nsXREDirProvider.cpp
and what you said is still true:
diff -r 5c1a8f06c28b -r 394b490d3e2d toolkit/xre/nsXREDirProvider.cpp
--- a/toolkit/xre/nsXREDirProvider.cpp Thu Dec 13 09:08:40 2018 +0000
+++ b/toolkit/xre/nsXREDirProvider.cpp Mon Jan 14 17:27:34 2019 +0000
@@ -19,6 +19,7 @@
#include "nsIToolkitChromeRegistry.h"
#include "nsIToolkitProfileService.h"
#include "nsIXULRuntime.h"
+#include "commonupdatedir.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsDirectoryServiceDefs.h"
@@ -47,7 +48,6 @@
#ifdef XP_WIN
#include <windows.h>
#include <shlobj.h>
-#include "commonupdatedir.h"
#endif
#ifdef XP_MACOSX
#include "nsILocalFileMac.h"
@@ -98,19 +98,14 @@
// These are required to allow nsXREDirProvider to be usable in xpcshell tests.
// where gAppData is null.
-static const char* GetAppProfile() {
- if (gAppData) {
- return gAppData->profile;
- }
- return nullptr;
-}
-
+#if defined(XP_MACOSX) || defined(XP_WIN)
static const char* GetAppName() {
if (gAppData) {
return gAppData->name;
}
return nullptr;
}
+#endif
static const char* GetAppVendor() {
if (gAppData) {
@@ -1608,14 +1603,21 @@
nsresult nsXREDirProvider::AppendProfilePath(nsIFile* aFile, bool aLocal) {
NS_ASSERTION(aFile, "Null pointer!");
+ // If there is no XREAppData then there is no information to use to build
+ // the profile path so just do nothing. This should only happen in xpcshell
+ // tests.
+ if (!gAppData) {
+ return NS_OK;
+ }
+
nsAutoCString profile;
nsAutoCString appName;
nsAutoCString vendor;
- if (GetAppProfile()) {
- profile = GetAppProfile();
+ if (gAppData->profile) {
+ profile = gAppData->profile;
} else {
- appName = GetAppName();
- vendor = GetAppVendor();
+ appName = gAppData->name;
+ vendor = gAppData->vendor;
}
nsresult rv;
Removing the #include "commonupdatedir.h"
line (eg. commented it out) worked well - compiled&installed firefox now.
Thank you Jan Alexander Steffens [:heftig] !
(In reply to Jan Alexander Steffens [:heftig] from comment #2)
Are you using --disable-updater? I suspect that might be why this wasn't
caught by automation.
Bug 1371159 is supposed to fix automation.
Assignee | ||
Comment 9•5 years ago
|
||
Ok, this should be fixed in bug 1520139 (beta builds on android run with the updater disabled).
Comment 10•5 years ago
|
||
This also breaks the build on Linux (with the mozconfig option).
Comment 11•5 years ago
•
|
||
The build is also broken for a local Fennec/GeckoView from m-c, since the default is to not use the updater.
Assignee | ||
Comment 12•5 years ago
|
||
The patch in bug 1520139 should fix all that, though it would be useful to confirm that.
Comment 13•5 years ago
|
||
It builds again, thanks.
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Description
•