Closed Bug 1013882 Opened 10 years ago Closed 8 years ago

make install fails with --enable-debug --disable-tests: Missing file(s): bin/components/TestInterfaceJS.js

Categories

(Firefox Build System :: General, defect)

x86_64
FreeBSD
defect
Not set
normal

Tracking

(firefox-esr45 affected, thunderbird_esr45 affected, thunderbird_esr52 affected, firefox51 wontfix, firefox52 wontfix, firefox-esr52 fixed, firefox53 fixed)

RESOLVED FIXED
mozilla53
Tracking Status
firefox-esr45 --- affected
thunderbird_esr45 --- affected
thunderbird_esr52 --- affected
firefox51 --- wontfix
firefox52 --- wontfix
firefox-esr52 --- fixed
firefox53 --- fixed

People

(Reporter: jbeich, Assigned: mds)

References

Details

(Keywords: regression)

Attachments

(1 file, 5 obsolete files)

$ gmake install gmake[1]: Entering directory `/a/mozilla-beta/obj-x86_64-unknown-freebsd11.0' gmake[2]: Entering directory `/a/mozilla-beta/obj-x86_64-unknown-freebsd11.0/browser/installer' /a/mozilla-beta/obj-x86_64-unknown-freebsd11.0/_virtualenv/bin/python -m mozbuild.action.preprocessor -DMOZ_GLUE_IN_PROGRAM -DNO_NSPR_10_SUPPORT -DAB_CD=en-US -DMOZ_APP_NAME=firefox -DPREF_DIR=defaults/preferences -DMOZ_DEBUG=1 -DMOZ_ENABLE_GNOME_COMPONENT=1 -DMOZ_GTK=1 -DMOZ_NATIVE_NSPR=1 -DMOZ_NATIVE_NSS=1 -DJAREXT= -DMOZ_CHILD_PROCESS_NAME=plugin-container -DMOZ_JSDEBUGGER -DNECKO_WIFI -DDLL_PREFIX=lib -DDLL_SUFFIX=.so -DBIN_SUFFIX= -DBINPATH=bin -DMOZ_ICU_VERSION=52 -DMOZ_NATIVE_ICU -DMOZ_SHARED_ICU -DHAVE_X86_AVX2='1' -DHAVE_64BIT_OS='1' -DMOZILLA_VERSION='"30.0"' -DMOZILLA_VERSION_U='30.0' -DMOZILLA_UAVERSION='"30.0"' -DD_INO='d_ino' -DMOZ_DEBUG_SYMBOLS='1' -DSTDC_HEADERS='1' -DHAVE_ST_BLKSIZE='1' -DHAVE_SIGINFO_T='1' -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE='1' -DHAVE_VISIBILITY_ATTRIBUTE='1' -DHAVE_DIRENT_H='1' -DHAVE_GETOPT_H='1' -DHAVE_MEMORY_H='1' -DHAVE_UNISTD_H='1' -DHAVE_NL_TYPES_H='1' -DHAVE_X11_XKBLIB_H='1' -DHAVE_CPUID_H='1' -DHAVE_SYS_TYPES_H='1' -DHAVE_NETINET_IN_H='1' -DHAVE_SIN_LEN='1' -DHAVE_SCONN_LEN='1' -DHAVE_SIN6_LEN='1' -DHAVE_SA_LEN='1' -DHAVE_SYS_CDEFS_H='1' -DHAVE_DLOPEN='1' -DHAVE_DLADDR='1' -DHAVE_MEMMEM='1' -DFUNCPROTO='15' -DHAVE_LIBXSS='1' -D_REENTRANT='1' -D_THREAD_SAFE='1' -DHAVE_LOCALTIME_R='1' -DHAVE_CLOCK_MONOTONIC='1' -DHAVE_RES_NINIT='1' -DHAVE_LANGINFO_CODESET='1' -DVA_COPY='va_copy' -DHAVE_VA_COPY='1' -DHAVE_VA_LIST_AS_ARRAY='1' -DHAVE_THREAD_TLS_KEYWORD='1' -DMALLOC_H='<malloc_np.h>' -DHAVE_STRNDUP='1' -DHAVE_POSIX_MEMALIGN='1' -DHAVE_VALLOC='1' -DHAVE_MALLOC_USABLE_SIZE='1' -DHAVE_I18N_LC_MESSAGES='1' -DHAVE_LOCALECONV='1' -DNS_ATTR_MALLOC='__attribute__((malloc))' -DNS_WARN_UNUSED_RESULT='__attribute__((warn_unused_result))' -DRELEASE_BUILD='1' -DHAVE_LIBPNG='1' -DMOZ_UPDATE_CHANNEL='default' -DEARLY_BETA_OR_EARLIER='1' -DMOZ_PHOENIX='1' -DMOZ_BUILD_APP='browser' -DMOZ_X11='1' -DMOZ_WIDGET_GTK2='1' -DMOZ_WIDGET_GTK='2' -DMOZ_PDF_PRINTING='1' -DMOZ_ENABLE_XREMOTE='1' -DMOZ_INSTRUMENT_EVENT_LOOP='1' -DNS_PRINTING='1' -DNS_PRINT_PREVIEW='1' -DMOZ_OFFICIAL_BRANDING='1' -DMOZ_DISTRIBUTION_ID='"org.mozilla"' -DMOZ_ENABLE_GIO='1' -DIBMBIDI='1' -DACCESSIBILITY='1' -DMOZ_WEBRTC='1' -DMOZ_WEBRTC_ASSERT_ALWAYS='1' -DMOZ_WEBRTC_SIGNALING='1' -DMOZ_PEERCONNECTION='1' -DMOZ_SCTP='1' -DMOZ_SRTP='1' -DMOZ_SAMPLE_TYPE_FLOAT32='1' -DMOZ_WEBSPEECH='1' -DMOZ_RAW='1' -DATTRIBUTE_ALIGNED_MAX='64' -DMOZ_OGG_NO_MEM_REPORTING='1' -DMOZ_WEBM='1' -DMOZ_MEDIA_NAVIGATOR='1' -DMOZ_VPX='1' -DMOZ_VPX_ERROR_CONCEALMENT='1' -DHAVE_LIBVPX='1' -DMOZ_VPX_NO_MEM_REPORTING='1' -DMOZ_WAVE='1' -DMOZ_VORBIS='1' -DMOZ_OPUS='1' -DMOZ_WEBM_ENCODER='1' -DMOZ_GSTREAMER='1' -DGST_API_VERSION='"1.0"' -DENABLE_SYSTEM_EXTENSION_DIRS='1' -DMOZ_WEBGL='1' -DMOZ_WEBGL_CONFORMANT='1' -DMOZ_CRASHREPORTER_ENABLE_PERCENT='100' -DMOZ_WEBAPP_RUNTIME='1' -DMOZ_CONTENT_SANDBOX_REPORTER='1' -DMOZ_FEEDS='1' -DMOZ_NATIVE_SQLITE='1' -DMOZ_SAFE_BROWSING='1' -DMOZ_URL_CLASSIFIER='1' -DGL_PROVIDER_GLX='1' -DMOZ_LOGGING='1' -DMOZ_DUMP_PAINTING='1' -DHAVE_MALLCTL='1' -DHAVE_NALLOCM='1' -DMOZ_MEMORY='1' -DMOZ_JEMALLOC3='1' -DMOZ_NATIVE_JEMALLOC='1' -DJSGC_INCREMENTAL='1' -DJSGC_USE_EXACT_ROOTING='1' -DJS_GC_ZEAL='1' -DMOZ_PAY='1' -DMOZ_ACTIVITIES='1' -DMOZ_SERVICES_FXACCOUNTS='1' -DHAVE___CXA_DEMANGLE='1' -DMOZ_DEMANGLE_SYMBOLS='1' -DHAVE__UNWIND_BACKTRACE='1' -DJS_DEFAULT_JITREPORT_GRANULARITY='3' -DMOZ_OMNIJAR='1' -DMOZ_USER_DIR='".mozilla"' -DHAVE_FT_BITMAP_SIZE_Y_PPEM='1' -DHAVE_FT_GLYPHSLOT_EMBOLDEN='1' -DHAVE_FT_LOAD_SFNT_TABLE='1' -DHAVE_FONTCONFIG_FCFREETYPE_H='1' -DHAVE_STDINT_H='1' -DHAVE_INTTYPES_H='1' -DMOZ_TREE_CAIRO='1' -DMOZ_ENABLE_SKIA='1' -DUSE_SKIA='1' -DUSE_SKIA_GPU='1' -DMOZ_XUL='1' -DMOZ_PROFILELOCKING='1' -DBUILD_CTYPES='1' -DMOZ_PLACES='1' -DMOZ_SOCIAL='1' -DMOZ_SERVICES_COMMON='1' -DMOZ_SERVICES_CRYPTO='1' -DMOZ_SERVICES_HEALTHREPORT='1' -DMOZ_SERVICES_METRICS='1' -DMOZ_SERVICES_SYNC='1' -DMOZ_JSDOWNLOADS='1' -DMOZ_MACBUNDLE_ID='org.mozilla.firefoxdebug' -DMOZ_B2G_VERSION='"1.0.0"' -DMOZ_B2G_OS_NAME='""' -DMOZ_APP_UA_NAME='""' -DMOZ_APP_UA_VERSION='"30.0"' -DFIREFOX_VERSION='30.0' -DMOZ_TELEMETRY_DISPLAY_REV='2' -DMOZ_DATA_REPORTING='1' -DMOZ_DLL_SUFFIX='".so"' -DHAVE_POSIX_FADVISE='1' -DHAVE_POSIX_FALLOCATE='1' -DXP_UNIX='1' -DMOZ_REFLOW_PERF='1' -DMOZ_REFLOW_PERF_DSP='1' -DMOZ_ACCESSIBILITY_ATK='1' -DATK_MAJOR_VERSION='2' -DATK_MINOR_VERSION='8' -DATK_REV_VERSION='0' -DA11Y_LOG='1' -DEXPOSE_INTL_API='1' -DENABLE_INTL_API='1' -DMOZ_STATIC_JS='1' /a/mozilla-beta/browser/installer/package-manifest.in -o package-manifest OMNIJAR_NAME=omni.ja \ /a/mozilla-beta/obj-x86_64-unknown-freebsd11.0/_virtualenv/bin/python /a/mozilla-beta/toolkit/mozapps/installer/packager.py -DMOZ_GLUE_IN_PROGRAM -DNO_NSPR_10_SUPPORT -DAB_CD=en-US -DMOZ_APP_NAME=firefox -DPREF_DIR=defaults/preferences -DMOZ_DEBUG=1 -DMOZ_ENABLE_GNOME_COMPONENT=1 -DMOZ_GTK=1 -DMOZ_NATIVE_NSPR=1 -DMOZ_NATIVE_NSS=1 -DJAREXT= -DMOZ_CHILD_PROCESS_NAME=plugin-container -DMOZ_JSDEBUGGER -DNECKO_WIFI -DDLL_PREFIX=lib -DDLL_SUFFIX=.so -DBIN_SUFFIX= -DBINPATH=bin -DMOZ_ICU_VERSION=52 -DMOZ_NATIVE_ICU -DMOZ_SHARED_ICU \ --format omni \ --removals /a/mozilla-beta/browser/installer/removed-files.in \ \ \ \ --optimizejars \ \ package-manifest ../../dist ../../dist/firefox \ Error: /a/mozilla-beta/obj-x86_64-unknown-freebsd11.0/browser/installer/package-manifest:393: Missing file(s): bin/components/TestInterfaceJS.js Error: /a/mozilla-beta/obj-x86_64-unknown-freebsd11.0/browser/installer/package-manifest:394: Missing file(s): bin/components/TestInterfaceJS.manifest Traceback (most recent call last): File "/a/mozilla-beta/toolkit/mozapps/installer/packager.py", line 385, in <module> main() File "/a/mozilla-beta/toolkit/mozapps/installer/packager.py", line 338, in main copier.add(mozpack.path.join(binpath, 'removed-files'), removals) File "/usr/local/lib/python2.7/contextlib.py", line 24, in __exit__ self.gen.next() File "/a/mozilla-beta/python/mozbuild/mozpack/errors.py", line 129, in accumulate raise AccumulatedErrors() mozpack.errors.AccumulatedErrors gmake[2]: *** [stage-package] Error 1 gmake[2]: Leaving directory `/a/mozilla-beta/obj-x86_64-unknown-freebsd11.0/browser/installer' gmake[1]: *** [install] Error 2 gmake[1]: Leaving directory `/a/mozilla-beta/obj-x86_64-unknown-freebsd11.0' *** Error code 2
Obviously, tests are only built with --enable-tests.
Summary: make install fails with --enable-debug: Missing file(s): bin/components/TestInterfaceJS.js → make install fails with --enable-debug --disable-tests: Missing file(s): bin/components/TestInterfaceJS.js
Attachment #8438507 - Flags: review?(mh+mozilla)
s/installer/make install/ in commit message
Attachment #8438507 - Attachment is obsolete: true
Attachment #8438507 - Flags: review?(mh+mozilla)
Attachment #8438516 - Flags: review?(mh+mozilla)
I don't see TestInterfaceJS.* being installed in TBPL logs on Android and B2G. Looking into configure.in MOZ_DEBUG has only AC_SUBST but not AC_DEFINE.
Attachment #8438528 - Flags: review?(mh+mozilla)
Rebased. Not sure what caused the conflict.
Attachment #8438528 - Attachment is obsolete: true
Attachment #8438528 - Flags: review?(mh+mozilla)
Attachment #8439297 - Flags: review?(mh+mozilla)
Attachment #8439297 - Attachment is obsolete: true
Attachment #8439297 - Flags: review?(mh+mozilla)
Comment on attachment 8438528 [details] [diff] [review] Pass -DMOZ_DEBUG=1 on Android/B2G, too Sorry, the patch conflict was specific to |git bz apply|.
Attachment #8438528 - Attachment is obsolete: false
Attachment #8438528 - Flags: review?(mh+mozilla)
Attachment #8438516 - Flags: review?(mh+mozilla) → review+
Attachment #8438528 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8438528 [details] [diff] [review] Pass -DMOZ_DEBUG=1 on Android/B2G, too Green on Try. However, TestInterfaceJS* aren't installed on Android. I don't see any ACDEFINES after -m mozbuild.action.preprocessor at all. https://tbpl.mozilla.org/?tree=Try&rev=f1f90f73f371
Attachment #8438528 - Flags: feedback-
Attachment #8438516 [details] [diff] fixes this problem on Mac OS. It would be great if this patch landed.
(In reply to Mark Smith from comment #8) > Attachment #8438516 [details] [diff] [diff] fixes this problem on Mac OS. It would > be great if this patch landed. Indeed. This is silly
What's the holdup with this ? I've hit this bug when building 44beta. Provided the patches still apply, is it only a matter of setting c-n ?
Flags: needinfo?(jbeich)
patches don't apply as-is - im testing a variation and if that works here i'll post an unbitrotten version to try.
Comment on attachment 8438528 [details] [diff] [review] Pass -DMOZ_DEBUG=1 on Android/B2G, too This patch was blocked by insufficient testing. However, it's now in the tree as part of bug 1025183. https://hg.mozilla.org/mozilla-central/rev/1be6390b8931
Attachment #8438528 - Attachment is obsolete: true
Flags: needinfo?(jbeich)
(In reply to Landry Breuil (:gaston) from comment #11) Please, include any new places TestInterface* are installed by. $ ls **/package-manifest.in b2g/installer/package-manifest.in browser/installer/package-manifest.in mobile/android/b2gdroid/installer/package-manifest.in <---- not in attachment 8438516 [details] [diff] [review] mobile/android/installer/package-manifest.in
Yeah i saw the b2gdroid installer, Makefile.in and package-manifest.in amended accordingly... but i missed your comment about bug 1025183 before pushing to try :)
Attached patch bug1013882-package-debug (obsolete) — Splinter Review
This should be the correct version, all package-manifest.in properly amended. Allowed me to package 44.0rc2 with debug syms, would be cool to backport to 45 :)
Assignee: nobody → landry
Attachment #8438516 - Attachment is obsolete: true
Attachment #8711442 - Flags: review?(mh+mozilla)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=034649292b0b is the correct tbpl link, damn old bz extensions.
two 3 test failures are about a pip version and seem unrelated to the patch.
Comment on attachment 8711442 [details] [diff] [review] bug1013882-package-debug Review of attachment 8711442 [details] [diff] [review]: ----------------------------------------------------------------- From a build system perspective, this is fine, but I want to question why those files should be part of a debug build at all. (and why would anyone want to make install a --enable-debug build is also a mystery to me)
Attachment #8711442 - Flags: review?(mh+mozilla)
Boris, is there a particular reason those files (TestInterfaceJS.manifest, TestInterfaceJSMaplike.js, TestInterfaceJS.js) are not in one of the test addons (or its own)?
Flags: needinfo?(bzbarsky)
I don't know. I didn't add the initial addition of this stuff, but even if I had I would likely have stamped it "if it works, great". The only real requirement here is that these files be around when the relevant tests are run. I don't have a strong opinion on how we accomplish that.
Flags: needinfo?(bzbarsky)
(In reply to Mike Hommey [:glandium] from comment #19) > Comment on attachment 8711442 [details] [diff] [review] > bug1013882-package-debug > > Review of attachment 8711442 [details] [diff] [review]: > ----------------------------------------------------------------- > > From a build system perspective, this is fine, but I want to question why > those files should be part of a debug build at all. (and why would anyone > want to make install a --enable-debug build is also a mystery to me) Well, as a packager, you want to provide your users the possibility to run a debug build so that they provide logs and proper crash backtraces with more info, hence have it packaged.. which runs make install...
If you want to provide proper crash backtraces, you want debug *symbols*, not debug builds.
assert checks, disabled SIMD, extra verbosity are hidden under --enabled-debug, even for bundled libraries which are *harder* to debug from downstream POV. Issues like bug 952048 and bug 1153683 is hard to debug relying on just symbols. Not sure if |make package| from debug builds ever end up on Mozilla CDN unlike tests.
Landry, are you going to fix this? If not Assignee is misleading.
Flags: needinfo?(landry)
So many bugs, so little time and interest fading....
Assignee: landry → nobody
Flags: needinfo?(landry)
It is sad that the patch in attachment 8711442 [details] [diff] [review] has not landed yet. While it is strange that the Test... files are included in debug packages, that seems like a separate bug to me. This one is about fixing a build breakage, and the (simple) fix has been "in hand" for most of 2016.
See Also: → 1317451
Attachment #8711442 - Attachment is obsolete: true
The original patch has been rebased. As per Bug 1306391 (nukeb2g), b2g manifests have been skipped. :glandium, as the original patch was r=you, do you mind if we land this? It's a pretty trivial change and I'm sure it'll be very welcome the *BSD folks (myself included :)).
Flags: needinfo?(mh+mozilla)
Originally, there was also attachment 8438528 [details] [diff] [review] but it was fixed by bug 1025183.
Comment on attachment 8810563 [details] Bug 1013882 - TestInterfaceJS should be packaged only if it's available. https://reviewboard.mozilla.org/r/92830/#review92966 You should make the same change to b2g/installer/package-manifest.in.
Attachment #8810563 - Flags: review?(mh+mozilla) → review+
Flags: needinfo?(mh+mozilla)
Clearing tracking flags before landing.
Assignee: nobody → mdesimone
Version: 30 Branch → unspecified
Pushed by mdesimone@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ae6bb745b299 TestInterfaceJS should be packaged only if it's available. r=glandium
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Comment on attachment 8810563 [details] Bug 1013882 - TestInterfaceJS should be packaged only if it's available. Approval Request Comment [ESR consideration]: Easier packaging debug builds downstream [Feature/Bug causing the regression]: bug 923904 regression [User impact if declined]: Broken install after build with --enable-debug --disable-tests [Is this code covered by automated tests?]: No, --disable-tests are NPOTB. [Has the fix been verified in Nightly?]: Yes, also downstream. [Needs manual test from QE? If yes, steps to reproduce]: No [List of other uplifts needed for the feature/fix]: None [Is the change risky?]: No [Why is the change risky/not risky?]: Can only break package build e.g., firefox-52.1esr.tar.bz2 maybe empty or N/A. [String changes made/needed]: None
Attachment #8810563 - Flags: approval-mozilla-esr52?
Keywords: regression
Comment on attachment 8810563 [details] Bug 1013882 - TestInterfaceJS should be packaged only if it's available. packaging fix for esr52
Attachment #8810563 - Flags: approval-mozilla-esr52? → approval-mozilla-esr52+
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: