Closed Bug 434075 Opened 13 years ago Closed 13 years ago

Check for alternate autoconf-2.13 binary names in mozilla-central build system

Categories

(Firefox Build System :: General, defect)

Other Branch
x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dholbert, Unassigned)

References

Details

Attachments

(1 file)

Per the following line of client.mk, the mozilla-central build system expects the autoconf 2.13 binary to be named "autoconf-2.13":
  94  AUTOCONF := autoconf-2.13
 (source: http://mxr.mozilla.org/mozilla-central/source/client.mk#94 )

However, on Mac OS X, the binary is named "autoconf213" and on Ubuntu Linux (v8.04 at least), it's named "autoconf2.13".

As a result, when I try to do a "make -f client.mk build" on Ubuntu, I get this error:

/bin/sh: autoconf-2.13: not found
make: *** [/scratch/work/builds/central/central.08-05-16.10-39/mozilla/configure] Error 127

It seems like our build system should be more intelligent. Perhaps it could check for a few known autoconf 2.13 names before giving up -- that'd be better than the current solution of just hard-coding in one possible autoconf binary name, and dying if that fails.

KNOWN WORKAROUNDS:
There's two ways I know of to work around this issue right now, for anyone else who's running in to this:
  - Add a symlink named "autoconf-2.13" that points to the correct binary
  - Add "mk_add_options AUTOCONF=autoconf2.13" to my .mozconfig

These workarounds are both currently documented in 
http://developer.mozilla.org/en/docs/Linux_Build_Prerequisites#Optional_Software

(Note that this bug is similar to bug 433786, but they're not the same bug.)
I would have said it was more similar to bug 432911.
(In reply to comment #1)
> I would have said it was more similar to bug 432911.

Ah, you're right -- that's what I get for only searching for "autoconf2.13" in bugzilla, and not "autoconf-2.13".  [/me patches self to check for alternate autoconf 2.13 binary names when searching bugzilla.]

Still, I'd say this bug here is more general, and would not be fixed by the currently posted patch for bug 432911.  However, if a more general fix is posted on that bug, we could resolve this as a dupe.
(In reply to comment #0)
> However, on Mac OS X, the binary is named "autoconf213" and on Ubuntu Linux
> (v8.04 at least), it's named "autoconf2.13".

The patch for bug 432911 just landed, so now the OS X --> "autoconf213" mapping works ok.

However, the Ubuntu autoconf2.13 vs autoconf-2.13 issue still remains.
Depends on: 432911
Duplicate of this bug: 433786
can we do:

AUTOCONF = $(shell which autoconf-2.13 autoconf2.13 autoconf213 | head -1)

or something of that sort?
I was thinking of something along those lines, yeah.
Attachment #332359 - Flags: review?(ted.mielczarek)
Attachment #332359 - Flags: review?(ted.mielczarek) → review+
Fixed in mozilla-central:

http://hg.mozilla.org/index.cgi/mozilla-central/annotate/a8b558d55351/client.mk#l96
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
romaxa:
Why was this fixed differently than in the reviewed patch? Why leave the Mac special-casing intact when the new syntax checks for that name in any case?
Depends on: 450948
Blocks: 450967
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.