Closed Bug 1278674 Opened 3 years ago Closed 3 years ago

Firefox 47.0 fails to build from source tarball

Categories

(Firefox Build System :: General, defect, critical)

47 Branch
x86
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: davmac, Unassigned)

Details

Attachments

(1 file)

Attached file configure-failure.log
User Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160510224441

Steps to reproduce:

1. Download source tarball : firefox-47.0.source.tar.xz
    I have all prerequisites installed, including autoconf-2.13 (which wasn't necessary for 46.0.1, but absence causes 47.0 to fail early).
2. Extract. "ls -s broswer/config/mozconfig .mozconfig". "mkdir obj". "cd obj"
3. Configure:

../configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-default-toolkit=cairo-gtk2 \
  --disable-tests --disable-installer --disable-crashreporter \
  --with-system-zlib --with-system-bz2 --disable-updater \
  --disable-libnotify --disable-necko-wifi \
  --enable-bundled-fonts --enable-gold \
  --with-system-icu --disable-gstreamer \
  --disable-strip --enable-install-strip --enable-release --with-system-jpeg \
  --disable-elf-hack --disable-jemalloc --disable-dmd  2>&1 > configure-failure.log



Actual results:

Configure proceeds as per attached log.

Then, following is output to terminal, despite that stderr and stdout were redirected:

Reticulating splines...
Traceback (most recent call last):
  File "./config.status", line 1054, in <module>
    config_status(**args)
  File "/usr/src/firefox-47.0/python/mozbuild/mozbuild/config_status.py", line 162, in config_status
    definitions = list(definitions)
  File "/usr/src/firefox-47.0/python/mozbuild/mozbuild/frontend/emitter.py", line 164, in emit
    for out in output:
  File "/usr/src/firefox-47.0/python/mozbuild/mozbuild/frontend/reader.py", line 1066, in read_mozbuild
    raise bre
mozbuild.frontend.reader.BuildReaderError:
==============================
ERROR PROCESSING MOZBUILD FILE
==============================

The error occurred while processing the following file:

    /usr/src/firefox-47.0/js/src/moz.build

The error appears to be part of the mozbuild.frontend.reader Python module itself! It is possible you have stumbled across a legitimate bug.

Traceback (most recent call last):
  File "/usr/src/firefox-47.0/python/mozbuild/mozbuild/frontend/reader.py", line 1062, in read_mozbuild
    metadata=metadata):
  File "/usr/src/firefox-47.0/python/mozbuild/mozbuild/frontend/reader.py", line 1118, in _read_mozbuild
    mozpath.join(topobjdir, reldir, 'config.status'))
  File "/usr/src/firefox-47.0/python/mozbuild/mozbuild/backend/configenvironment.py", line 188, in from_config_status
    config = BuildConfig.from_config_status(path)
  File "/usr/src/firefox-47.0/python/mozbuild/mozbuild/backend/configenvironment.py", line 42, in from_config_status
    mtime = os.path.getmtime(path)
  File "/usr/src/firefox-47.0/obj/_virtualenv/lib/python2.7/genericpath.py", line 62, in getmtime
    return os.stat(filename).st_mtime
OSError: [Errno 2] No such file or directory: '/usr/src/firefox-47.0/obj/js/src/config.status'




Expected results:

Should configure successfully, just as Firefox 46.0.1 did with the exact same sequence (and without requiring autoconf to be installed).

There are multiple issues here as far as I am concerned:

1. Configure should have been successful.
2. autoconf should not need to be installed if I am building from a release tarball
3. Failure output should not go to terminal if output has been redirected.
Severity: normal → critical
OS: Unspecified → Linux
Hardware: Unspecified → x86
Version: 46 Branch → 47 Branch
Ah - the redirection was wrong, so that's my bad; it should of course have been "> configure-fail.log 2>&1" rather than the other way around. However the other two issues stand.
Component: Untriaged → Build Config
Product: Firefox → Core
Did you run the command ./configure directly or or ran in through ./mach build. If you ran it directly, try add the same options but in a mozconfig file and then run ./mach build. Tell us what happen then.
I had run ./configure directly.

When I do as you suggest, putting all the configure options in the mozconfig file and then run "./mach build", I get the exact same output as I did when I ran ./configure directly (except that each line is now preceded with a blue timestamp).
I've upgrade some components on my system, most notably bash, and this seems to have resolved the problem. 47.0 builds successfully using my original commands. I think you can close this - sorry for the noise.
Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.