All users were logged out of Bugzilla on October 13th, 2018

Mach build with arguments fails if objdir specified in mozconfig has a trailing slash

RESOLVED FIXED in mozilla26

Status

RESOLVED FIXED
5 years ago
8 months ago

People

(Reporter: Gijs, Assigned: gps)

Tracking

(Blocks: 1 bug)

unspecified
mozilla26

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
STR:

1. MOZCONFIG env var pointing to a mozconfig with:

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../builds/foo/

2. Run ./mach build

3. Run ./mach build browser/base (or any other directory)

ER:
browser/base gets rebuilt

AR:
make.py is invoked with 'rowser/base', throwing "No makefile found", and no rebuild is done.

Doing s/foo\//foo/ on the path specified makes it work.

(seen this on both OS X and Windows, so marking all/all)
Component: mach → Build Config
(Assignee)

Comment 1

5 years ago
Can you upload  your |mach environment| output?
(Reporter)

Comment 2

5 years ago
$ ./mach environment
platform:
        Windows-7-6.1.7601-SP1
python version:
        2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
python prefix:
        c:\mozilla-build\python
mach cwd:
        e:\dev\ux-central
os cwd:
        e:\dev\ux-central
mach directory:
        e:\dev\ux-central
state directory:
        c:/Users/gkruitbosch/.mozbuild
object directory:
        e:\dev\ux-central/../builds/ux-i686-pc-mingw32/
mozconfig path:
        e:\dev\configs\ux.mozconfig
mozconfig objdir:
        e:\dev\ux-central/../builds/ux-i686-pc-mingw32/
mozconfig configure args:
        --enable-profiling
mozconfig extra make args:
mozconfig make flags:
config topsrcdir:
        e:/dev/ux-central
config topobjdir:
        e:\dev\builds\ux-i686-pc-mingw32
(Assignee)

Comment 3

5 years ago
Created attachment 788239 [details] [diff] [review]
Normalize topobjdir

Trivial patch with test that failed before modifying base.py
Attachment #788239 - Flags: review?(mshal)
(Assignee)

Updated

5 years ago
Assignee: nobody → gps
Comment on attachment 788239 [details] [diff] [review]
Normalize topobjdir

This patch looks good, and works to fix the new test case. However, I haven't been able to reproduce the original issue of make getting invoked with 'rowser/base', so I'm not entirely sure if it fixes that. I tried this on both Linux and OSX:

$ cat ~/mymozconfig 
mk_add_options MOZ_OBJDIR=@TOPSRCDIR/../builds/foo/

$ MOZCONFIG=/home/marf/mymozconfig ./mach configure

$ MOZCONFIG=/home/marf/mymozconfig ./mach build browser/base

On both machines it recurses into browser/base just fine, even before gps' patch.
Attachment #788239 - Flags: review?(mshal) → review+
(Assignee)

Comment 5

5 years ago
Yeah, the original issue with "rowser/base" is funky and I was never able to reproduce. I'm hoping one of this or bug 901811 will address it. Gijs can always file a new bug if he still sees issues.

https://hg.mozilla.org/integration/mozilla-inbound/rev/03fbbe116b7e
Status: NEW → ASSIGNED
Flags: in-testsuite+
https://hg.mozilla.org/mozilla-central/rev/03fbbe116b7e
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
(Assignee)

Updated

5 years ago
Blocks: 912114

Updated

8 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.