Closed Bug 1342378 Opened 7 years ago Closed 7 years ago

touch js/src/configure if necessary in autospider.py

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox54 --- wontfix
firefox55 --- fixed

People

(Reporter: arai, Assigned: arai)

References

Details

Attachments

(1 file)

related to bug 1340850.

When I run autospider.py after updating tree, it shows the following error and stops building.

> STOP!  .../mozilla-unified/js/src/configure.in has changed, and your configure is out of date.
> Please rerun autoconf and re-configure your build directory.
> To ignore this message, touch ".../mozilla-unified/js/src/configure",
> but your build might not succeed.

IIUC, autoconf is not necessary for building SpiderMonkey shell,
and actually autospider.py is just copying js/src/configure.in to js/src/configure
if js/src/configure doesn't exist.

so, it would be nice to do either:
  1. touch js/src/configure if js/src/configure.in (and maybe some other files) is updated
  2. stop showing error for that case
Severity: normal → enhancement
See Also: → 1340850
maybe I'm just misunderstanding what I observed before,
and this bug maybe invalid.
I'll check some more.
I guess it's better just closing.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
the issue happens again, and looks like re-running configure doesn't help.

timestamp of each configure files are following:
  Mar  2 11:39 js/src/configure
  Feb 24 20:54 js/src/configure.in
  Mar  2 18:37 js/src/old-configure
  Mar  2 18:11 js/src/old-configure.in

and command/output

python /Users/arai/projects/mozilla-unified/js/src/devtools/automation/autospider.py --build-only --objdir=/Users/arai/projects/mozilla-unified/obj-spider --dep /Users/arai/.mozbuild/sm_variants/custom
+ source /Users/arai/projects/mozilla-unified/js/src/devtools/automation/macbuildenv.sh
++ topsrcdir=/Users/arai/projects/mozilla-unified
++ . /Users/arai/projects/mozilla-unified/build/macosx/mozconfig.common
++++ uname -s
+++ test Darwin = Linux
+++ . /Users/arai/projects/mozilla-unified/build/macosx/local-mozconfig.common
++++ '[' x = xyes ']'
++++ . /Users/arai/projects/mozilla-unified/build/mozconfig.common
+++++ mk_add_options AUTOCLOBBER=1
+++++ : do nothing
+++++ ac_add_options --enable-crashreporter
+++++ : do nothing
+++++ ac_add_options --enable-release
+++++ : do nothing
+++++ MOZ_ADDON_SIGNING=1
+++++ MOZ_REQUIRE_SIGNING=0
+++++ ac_add_options --enable-js-shell
+++++ : do nothing
+++++ . /Users/arai/projects/mozilla-unified/build/mozconfig.automation
++++++ mk_add_options 'export MOZ_AUTOMATION_BUILD_SYMBOLS=1'
++++++ : do nothing
++++++ mk_add_options 'export MOZ_AUTOMATION_L10N_CHECK=1'
++++++ : do nothing
++++++ mk_add_options 'export MOZ_AUTOMATION_PACKAGE=1'
++++++ : do nothing
++++++ mk_add_options 'export MOZ_AUTOMATION_PACKAGE_TESTS=1'
++++++ : do nothing
++++++ mk_add_options 'export MOZ_AUTOMATION_INSTALLER=0'
++++++ : do nothing
++++++ mk_add_options 'export MOZ_AUTOMATION_UPDATE_PACKAGING=0'
++++++ : do nothing
++++++ mk_add_options 'export MOZ_AUTOMATION_UPLOAD=1'
++++++ : do nothing
++++++ mk_add_options 'export MOZ_AUTOMATION_UPLOAD_SYMBOLS=0'
++++++ : do nothing
++++++ export MOZ_AUTOMATION_MOZCONFIG=1
++++++ MOZ_AUTOMATION_MOZCONFIG=1
+++++ . /Users/arai/projects/mozilla-unified/build/mozconfig.rust
++++++ TOOLTOOL_DIR=/Users/arai/projects/mozilla-unified
++++++ RUSTC=/Users/arai/projects/mozilla-unified/rustc/bin/rustc
++++++ CARGO=/Users/arai/projects/mozilla-unified/rustc/bin/cargo
++++ '[' -d /Users/arai/projects/mozilla-unified/clang ']'
++++ '[' -d /Users/arai/projects/mozilla-unified/../clang ']'
++++ ldflags=' -Wl,-no_data_in_code_info'
++++ export 'LDFLAGS= -Wl,-no_data_in_code_info'
++++ LDFLAGS=' -Wl,-no_data_in_code_info'
++++ '[' -z clang ']'
++++ '[' -z clang++ ']'
++++ export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=/builds/crash-stats-api.token
++++ SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=/builds/crash-stats-api.token
+ echo VAR SETTINGS:
+ echo clang
+ echo clang++
Reexecuting in the virtualenv
checking for a shell... /bin/sh
checking for host system type... x86_64-apple-darwin16.4.0
checking for target system type... x86_64-apple-darwin16.4.0
checking for the Android toolchain directory... not found
checking for a shell... /bin/sh
checking for host system type... x86_64-apple-darwin16.4.0
checking for target system type... x86_64-apple-darwin16.4.0
checking whether cross compiling... no
checking for the target C compiler... /usr/bin/clang
checking whether the target C compiler can be used... yes
checking for pkg_config... /usr/local/bin/pkg-config
checking for pkg-config version... 0.29.1
checking for yasm... /usr/local/bin/yasm
checking yasm version... 1.3.0
checking for android platform directory... no
checking the target C compiler version... 8.0.0
checking the target C compiler works... yes
checking for the target C++ compiler... /usr/bin/clang++
checking whether the target C++ compiler can be used... yes
checking the target C++ compiler version... 8.0.0
checking the target C++ compiler works... yes
checking for the host C compiler... /usr/bin/clang
checking whether the host C compiler can be used... yes
checking the host C compiler version... 8.0.0
checking the host C compiler works... yes
checking for the host C++ compiler... /usr/bin/clang++
checking whether the host C++ compiler can be used... yes
checking the host C++ compiler version... 8.0.0
checking the host C++ compiler works... yes
checking for 64-bit OS... yes
checking for stdint.h... yes
checking for inttypes.h... yes
checking for malloc.h... no
checking for alloca.h... yes
checking for sys/byteorder.h... no
checking for getopt.h... yes
checking for unistd.h... yes
checking for nl_types.h... yes
checking for cpuid.h... yes
checking for sys/statvfs.h... yes
checking for sys/statfs.h... no
checking for sys/vfs.h... no
checking for sys/mount.h... yes
checking for sys/quota.h... no
checking for sys/queue.h... yes
checking for sys/types.h... yes
checking for netinet/in.h... yes
checking for byteswap.h... no
checking for perf_event_open system call... no
checking whether the C compiler supports -Wclass-varargs... yes
checking whether the C++ compiler supports -Wclass-varargs... yes
checking whether the C compiler supports -Wloop-analysis... yes
checking whether the C++ compiler supports -Wloop-analysis... yes
checking whether the C++ compiler supports -Wc++11-compat-pedantic... yes
checking whether the C++ compiler supports -Wc++14-compat... yes
checking whether the C++ compiler supports -Wc++14-compat-pedantic... yes
checking whether the C++ compiler supports -Wc++1z-compat... yes
checking whether the C++ compiler supports -Wimplicit-fallthrough... yes
checking whether the C compiler supports -Werror=non-literal-null-conversion... yes
checking whether the C++ compiler supports -Werror=non-literal-null-conversion... yes
checking whether the C compiler supports -Wstring-conversion... yes
checking whether the C++ compiler supports -Wstring-conversion... yes
checking whether the C++ compiler supports -Wno-inline-new-delete... yes
checking whether the C compiler supports -Wno-error=maybe-uninitialized... no
checking whether the C++ compiler supports -Wno-error=maybe-uninitialized... no
checking whether the C compiler supports -Wno-error=deprecated-declarations... yes
checking whether the C++ compiler supports -Wno-error=deprecated-declarations... yes
checking whether the C compiler supports -Wno-error=array-bounds... yes
checking whether the C++ compiler supports -Wno-error=array-bounds... yes
checking whether the C compiler supports -Wformat... yes
checking whether the C++ compiler supports -Wformat... yes
checking for awk... /usr/bin/awk
checking for perl... /usr/bin/perl
checking for minimum required perl version >= 5.006... 5.018002
checking for full perl installation... yes
checking for gmake... /usr/bin/make
checking for doxygen... not found
checking for xargs... /usr/bin/xargs
checking for dsymutil... /usr/bin/dsymutil
checking for mkfshfs... /sbin/newfs_hfs
checking for hfs_tool... not found
checking for autoconf... /Users/arai/conf/bin/autoconf2.13
loading cache ./config.cache
checking host system type... x86_64-apple-darwin16.4.0
checking target system type... x86_64-apple-darwin16.4.0
checking build system type... x86_64-apple-darwin16.4.0
checking for gcc... (cached) /usr/bin/clang -std=gnu99
checking whether the C compiler (/usr/bin/clang -std=gnu99  ) works... yes
checking whether the C compiler (/usr/bin/clang -std=gnu99  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether /usr/bin/clang -std=gnu99 accepts -g... (cached) yes
checking for c++... (cached) /usr/bin/clang++ -std=gnu++11
checking whether the C++ compiler (/usr/bin/clang++ -std=gnu++11  ) works... yes
checking whether the C++ compiler (/usr/bin/clang++ -std=gnu++11  ) is a cross-compiler... no
checking whether we are using GNU C++... (cached) yes
checking whether /usr/bin/clang++ -std=gnu++11 accepts -g... (cached) yes
checking for ranlib... (cached) ranlib
checking for as... (cached) /usr/bin/as
checking for ar... (cached) ar
checking for strip... (cached) strip
checking for windres... no
checking for sb-conf... no
checking for ve... no
checking for X... (cached) no
checking for --noexecstack option to as... yes
checking for -z noexecstack option to ld... no
checking for -z text option to ld... no
checking for --build-id option to ld... no
checking for -framework ExceptionHandling... yes
checking for -dead_strip option to ld... yes
checking for valid debug flags... yes
checking for working const... (cached) yes
checking for mode_t... (cached) yes
checking for off_t... (cached) yes
checking for pid_t... (cached) yes
checking for size_t... (cached) yes
checking for ssize_t... (cached) yes
checking whether 64-bits std::atomic requires -latomic... (cached) no
checking for dirent.h that defines DIR... (cached) yes
checking for opendir in -ldir... (cached) no
checking for gethostbyname_r in -lc_r... (cached) no
checking for socket in -lsocket... (cached) no
checking whether /usr/bin/clang -std=gnu99 accepts -pthread... yes
checking whether /usr/bin/clang -std=gnu99 needs -traditional... (cached) no
checking for 8-bit clean memcmp... (cached) yes
checking for getc_unlocked... (cached) yes
checking for _getc_nolock... (cached) no
checking for gmtime_r... (cached) yes
checking for localtime_r... (cached) yes
checking for pthread_getname_np... (cached) yes
checking for sin in -lm... (cached) yes
checking for sincos in -lm... (cached) no
checking for __sincos in -lm... (cached) yes
checking for wcrtomb... (cached) yes
checking for mbrtowc... (cached) yes
checking for res_ninit()... (cached) no
checking for nl_langinfo and CODESET... (cached) yes
checking for an implementation of va_copy()... (cached) yes
checking whether va_list can be copied by value... (cached) no
checking for C++ dynamic_cast to void*... (cached) yes
checking for __thread keyword for TLS variables... (cached) yes
checking for LC_MESSAGES... (cached) yes
checking for localeconv... (cached) yes
checking NSPR selection... source-tree
checking for gzread in -lz... (cached) yes
checking for __cxa_demangle... (cached) yes
checking for -pipe support... yes
checking whether C compiler supports -fprofile-generate... yes
checking for tm_zone tm_gmtoff in struct tm... (cached) yes
checking what kind of list files are supported by the linker... filelist
checking for posix_fadvise... (cached) no
checking for posix_fallocate... (cached) no
checking for malloc.h... (cached) no
checking for malloc_np.h... (cached) no
checking for malloc/malloc.h... (cached) yes
checking for strndup... (cached) yes
checking for posix_memalign... (cached) yes
checking for memalign... (cached) no
checking for malloc_usable_size... (cached) no
checking for valloc in malloc.h... no
checking for valloc in unistd.h... yes
checking for setlocale... (cached) yes
checking for localeconv... (cached) yes
creating ./config.data
Creating config.status
Reticulating splines...
Finished reading 41 moz.build files in 0.08s
Read 0 gyp files in parallel contributing 0.00s to total wall time
Processed into 240 build config descriptors in 0.18s
RecursiveMake backend executed in 0.11s
  142 total backend files; 0 created; 0 updated; 142 unchanged; 0 deleted; 8 -> 36 Makefile
FasterMake backend executed in 0.00s
  3 total backend files; 0 created; 0 updated; 3 unchanged; 0 deleted
Total wall time: 0.41s; CPU time: 0.40s; Efficiency: 98%; Untracked: 0.03s
make: Entering directory `/Users/arai/projects/mozilla-unified/obj-spider'
make: Leaving directory `/Users/arai/projects/mozilla-unified/obj-spider'
make: Entering directory `/Users/arai/projects/mozilla-unified/obj-spider'
make[1]: Entering directory `/Users/arai/projects/mozilla-unified/obj-spider'
STOP!  /Users/arai/projects/mozilla-unified/js/src/old-configure.in has changed, and your configure is out of date.
Please rerun autoconf and re-configure your build directory.
To ignore this message, touch "/Users/arai/projects/mozilla-unified/js/src/configure",
but your build might not succeed.
make[1]: *** [/Users/arai/projects/mozilla-unified/js/src/configure] Error 1
make[1]: Leaving directory `/Users/arai/projects/mozilla-unified/obj-spider'
make: *** [default] Error 2
make: Leaving directory `/Users/arai/projects/mozilla-unified/obj-spider'
Traceback (most recent call last):
  File "/Users/arai/projects/mozilla-unified/js/src/devtools/automation/autospider.py", line 302, in <module>
    run_command('%s -w %s' % (MAKE, MAKEFLAGS), shell=True, check=True)
  File "/Users/arai/projects/mozilla-unified/js/src/devtools/automation/autospider.py", line 274, in run_command
    raise subprocess.CalledProcessError(status, command, output=stderr)
subprocess.CalledProcessError: Command 'make -w -s' returned non-zero exit status 2
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
this happens after updating the tree, and reusing the obj dir for previous tree.
Previously autospider.py checks if the js/src/configure exists, and creates if not.
it needs to update it also when either js/src/configure.in and js/src/old-configure.in is newer.
Assignee: nobody → arai.unmht
Status: REOPENED → ASSIGNED
Attachment #8842790 - Flags: review?(sphink)
Comment on attachment 8842790 [details] [diff] [review]
Update js/src/configure when input files are newer than it.

Review of attachment 8842790 [details] [diff] [review]:
-----------------------------------------------------------------

Sorry for the delay. I kept meaning to look more closely at this.

Let's see... if old-configure.in is newer than configure, then we need to update old-configure, which is done these days by running configure. So I guess this works ok, even though it's kind of skipping an edge in the true dependency graph.

I think the actual dependencies are something like (in Make-ish syntax)

old-configure: old-configure.in configure
        ./configure ...

configure.in: configure
        cp configure.in configure

build: old-configure configure
        ...
Attachment #8842790 - Flags: review?(sphink) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/28e00eaef93adfaf63ffb766e71970fadd1d051b
Bug 1342378 - Update js/src/configure when input files are newer than it. r=sfink
https://hg.mozilla.org/mozilla-central/rev/28e00eaef93a
Status: ASSIGNED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: