Closed
Bug 1077625
Opened 10 years ago
Closed 10 years ago
Building with >=103 character long $OBJDIR path triggers "creating ./config.status" and then "/bin/sh: 1: ./config.status: not found"
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 1052560
People
(Reporter: dholbert, Unassigned)
Details
STR:
1. Try to build without a .mozconfig file
ACTUAL RESULTS: Before you get to compiling any source, you get something like this:
{
0:23.13 checking for localeconv... (cached) yes
0:23.16 checking for malloc_size... no
0:23.17 checking for malloc_usable_size... (cached) yes
0:23.17 updating cache /scratch/work/builds/mozilla-central/mozilla-central-11-11-01.13-56/mozilla/obj-x86_64-unknown-linux-gnu/config.cache
0:23.17 creating ./config.status
0:23.17 /bin/sh: 1: ./config.status: not found
0:23.18 *** Fix above errors and then restart with\
0:23.18 "/usr/bin/make -f client.mk build"
0:23.18 make[2]: *** [configure] Error 1
0:23.18 make[1]: *** [/scratch/work/builds/mozilla-central/mozilla-central-11-11-01.13-56/mozilla/obj-x86_64-unknown-linux-gnu/Makefile] Error 2
0:23.18 make: *** [build] Error 2
}
If I check in my objdir (obj-x86_64-unknown-linux-gnu), I definitely see a "config.status" file there. I'm guessing we're failing to find it because we're looking in the wrong place, or something.
I'm on 64-bit Ubuntu 14.04, if that matters, with up-to-date mozilla-central.
Reporter | ||
Comment 1•10 years ago
|
||
If I run ./mach build a second time after hitting this, I get slightly different output:
{
0:02.95 checking for posix_fadvise... (cached) yes
0:02.95 checking for posix_fallocate... (cached) yes
0:03.01 creating ./config.status
0:03.46 Traceback (most recent call last):
0:03.46 File "/scratch/work/builds/mozilla-central/mozilla-central-11-11-01.13-56/mozilla/build/subconfigure.py", line 354, in <module>
0:03.46 sys.exit(main(sys.argv[1:]))
0:03.46 File "/scratch/work/builds/mozilla-central/mozilla-central-11-11-01.13-56/mozilla/build/subconfigure.py", line 338, in main
0:03.46 return run(CONFIGURE_DATA, args[0])
0:03.46 File "/scratch/work/builds/mozilla-central/mozilla-central-11-11-01.13-56/mozilla/build/subconfigure.py", line 243, in run
0:03.46 config_files, command_files = get_config_files(data)
0:03.46 File "/scratch/work/builds/mozilla-central/mozilla-central-11-11-01.13-56/mozilla/build/subconfigure.py", line 141, in get_config_files
0:03.46 stderr=subprocess.STDOUT).splitlines()
0:03.46 File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
0:03.46 raise CalledProcessError(retcode, cmd, output=output)
0:03.46 subprocess.CalledProcessError: Command '['/bin/sh', '-c', 'js/src/config.status --help']' returned non-zero exit status 127
0:03.46 *** Fix above errors and then restart with\
0:03.46 "/usr/bin/make -f client.mk build"
0:03.46 make[2]: *** [configure] Error 1
0:03.46 make[1]: *** [/scratch/work/builds/mozilla-central/mozilla-central-11-11-01.13-56/mozilla/obj-x86_64-unknown-linux-gnu/Makefile] Error 2
0:03.46 make: *** [build] Error 2
}
Comment hidden (obsolete) |
Comment hidden (obsolete) |
Reporter | ||
Comment 4•10 years ago
|
||
UPDATE: This seems to be dependent on the path length.
In particular, I hit this issue with the following srcdir:
> /tmp/aaaaaaaaa/bbbbbbbbb/ccccccccc/ddddddddd/eeeeeeeee/fffffffff/123456789
...but I don't hit it if I drop a single character from the end -- i.e. this srcdir does not hit this error:
>/tmp/aaaaaaaaa/bbbbbbbbb/ccccccccc/ddddddddd/eeeeeeeee/fffffffff/12345678
Reporter | ||
Comment 5•10 years ago
|
||
Further update: The "without mozconfig" aspect of this bug was a red herring -- it turns out that the no-mozconfig condition initially *seemed* responsible because I was *close* to the threshold of triggering this bug, but I'd configured a shorter objdir in my normal mozconfig, and that was saving me. (and if I removed it & used the default objdir path, I'd run into to this bug.)
So, these STR should be more reliable & simpler:
1. Create directory /tmp/aaaaaaaaa/bbbbbbbbb/ccccccccc/ddddddddd/eeeeeeeee/fffffffff/
2. Create the following single-line mozconfig file, in any mozilla srcdir (without the leading "> "):
> mk_add_options MOZ_OBJDIR=/tmp/aaaaaaaaa/bbbbbbbbb/ccccccccc/ddddddddd/eeeeeeeee/fffffffff/123456789-obj-x86_64-unknown-linux-gnu
3. Try to build. See if you get past the configuration stage.
This reproduces the ACTUAL RESULTS from comment 0 reliably for me.
Summary: Building without .mozconfig triggers "creating ./config.status" and then "/bin/sh: 1: ./config.status: not found" → Building with >=103 character long $OBJDIR path triggers "creating ./config.status" and then "/bin/sh: 1: ./config.status: not found"
Reporter | ||
Comment 6•10 years ago
|
||
Also, FWIW, the full path of $OBJDIR/js/src/config.status (which I think is the problem file, per comment 1) is 125 characters long.
i.e. this is 125 characters:
/tmp/aaaaaaaaa/bbbbbbbbb/ccccccccc/ddddddddd/eeeeeeeee/fffffffff/123456789-obj-x86_64-unknown-linux-gnu/js/src/config.status
If I reduce the objdir length by 1 (bringing this ^ path-length down to 124 characters), then we get past this step. I wonder if 124 characters is a hard limit that's set by some tool that we're using? That seems like a pretty short limit.
Updated•10 years ago
|
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•