Closed Bug 693226 Opened 8 years ago Closed 3 years ago

[build failed] --enable-ui-locale=ab-CD --with-l10n-base=l10n with pymake on windows

Categories

(Firefox Build System :: General, defect)

x86
Windows XP
defect
Not set

Tracking

(Not tracked)

RESOLVED WONTFIX
mozilla13

People

(Reporter: hATrayflood, Assigned: hATrayflood)

References

Details

(Whiteboard: [don't close when landing on m-c])

Attachments

(2 files, 5 obsolete files)

I tried to build comm-central with pymake on windows using option --enable-ui-locale=zh-TW --with-l10n-base=../../l10n.
but I failed to build. following is build error.


make.py[6]: Entering directory 'f:\mozilla\comm-central\obj-i686-pc-mingw32\mozilla\toolkit\locales'
processing f:/mozilla/comm-central/mozilla/toolkit/locales/jar.mn
f:\mozilla\comm-central\mozilla\config\rules.mk:1645:0$ f:/mozilla-build/python/python2.6.exe f:/mozilla/comm-central/mozilla/config/JarMaker.py \
   -j ../../dist/bin/chrome \
  -t f:/mozilla/comm-central/mozilla -f flat  -c /f/mozilla/l10n/zh-TW/toolkit -I/f/mozilla/l10n/zh-TW/toolkit/defines.inc -DNDEBUG -DTRIMMED -DAB_CD=zh-TW -DMOZ_SUITE=1 -DOSTYPE=\"WINNT5.1\" -DOSARCH=WINNT -D_CRT_SECURE_NO_WARNINGS=1 -D_CRT_NONSTDC_NO_WARNINGS=1 -DHAVE_SEH_EXCEPTIONS=1 -DHAVE_WINSDKVER_H=1 -DMOZ_MSVC_STL_WRAP__RAISE=1 -DWINVER=0x502 -D_WIN32_WINNT=0x502 -D_WIN32_IE=0x0500 -DMOZ_WINSDK_TARGETVER=0x06010000 -DMOZ_NTDDI_WS03=0x05020000 -DMOZ_NTDDI_LONGHORN=0x06000000 -DMOZ_NTDDI_WIN7=0x06010000 -DHAVE_IO_H=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1 -DX_DISPLAY_MISSING=1 -DMOZILLA_VERSION=\"10.0a1\" -DMOZILLA_VERSION_U=10.0a1 -DHAVE_SNPRINTF=1 -D_WINDOWS=1 -DWIN32=1 -DXP_WIN=1 -DXP_WIN32=1 -DHW_THREADS=1 -DSTDC_HEADERS=1 -DWIN32_LEAN_AND_MEAN=1 -DNO_X11=1 -DHAVE_STDCALL=1 -DHAVE_MMINTRIN_H=1 -D_X86_=1 -DD_INO=d_ino -DNS_ALWAYS_INLINE= -DNS_ATTR_MALLOC= -DNS_WARN_UNUSED_RESULT= -DNS_NORETURN= -DMALLOC_H=\<malloc.h\> -DHAVE_FORCEINLINE=1 -DHAVE_LOCALECONV=1 -DNS_ENABLE_TSF=1 -DMOZ_BUILD_APP=../suite -DMOZ_PDF_PRINTING=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DIBMBIDI=1 -DACCESSIBILITY=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_OGG=1 -DMOZ_WEBM=1 -DVPX_X86_ASM=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1 -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_XTF=1 -DMOZ_CRASHREPORTER=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DLIBJPEG_TURBO_X86_ASM=1 -DMOZ_SMIL=1 -DMOZ_UPDATER=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_FEEDS=1 -DMOZ_HELP_VIEWER=1 -DMOZ_LOGGING=1 -DMOZ_MEMORY_SIZEOF_PTR_2POW=2 -DMOZ_MEMORY=1 -DMOZ_MEMORY_WINDOWS=1 -DHAVE_JEMALLOC_POSIX_MEMALIGN=1 -DHAVE_JEMALLOC_MEMALIGN=1 -DMOZ_OMNIJAR=1 -DMOZ_USER_DIR=\"Mozilla\" -DHAVE_STDINT_H=1 -DMOZ_TREE_CAIRO=1 -DHAVE_UINT64_T=1 -DMOZ_TREE_PIXMAN=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DMOZ_RDF=1 -DBUILD_CTYPES=1 -DMOZ_PLACES=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_APP_COMPONENT_MODULES=MODULE\(xpAutoComplete\)\ MODULE\(nsMailModule\)\ MODULE\(nsMsgSMIMEModule\)\ MODULE\(nsImportServiceModule\)\ MODULE\(msgMapiModule\)\ MODULE\(nsLDAPProtocolModule\)\ MODULE\(nsMorkModule\) -DMOZ_APP_UA_NAME=\"\" -DMOZ_APP_UA_VERSION=\"2.7a1\" -DMOZ_UA_FIREFOX_VERSION=\"10.0a1\" -DFIREFOX_VERSION=10.0a1 -DMOZ_UA_BUILDID=\"\" -DMOZ_DLL_SUFFIX=\".dll\"  \
  f:/mozilla/comm-central/mozilla/toolkit/locales/jar.mn
f:\mozilla\comm-central\obj-i686-pc-mingw32\mozilla\toolkit\locales\Makefile:79:0$ cat f:/mozilla/comm-central/mozilla/toolkit/locales/update.locale | sed -e "s/%AB_CD%/zh-TW/" > ../../dist/bin/update.locale
No rule to make target 'crashreporter.ini' needed by ['<command-line>', 'crashreporter.ini']
f:\mozilla\comm-central\mozilla\config\makefiles\target_libs.mk:63:0: command 'f:/mozilla-build/python/python.exe f:/mozilla/comm-central/mozilla/build/pymake/pymake/../make.py -C locales libs' failed, return code 2
f:\mozilla\comm-central\mozilla\config\makefiles\target_libs.mk:54:0: command 'f:/mozilla-build/python/python.exe f:/mozilla/comm-central/mozilla/build/pymake/pymake/../make.py -C toolkit libs' failed, return code 2
f:\mozilla\comm-central\mozilla\config\rules.mk:736:0: command 'f:/mozilla-build/python/python.exe f:/mozilla/comm-central/mozilla/build/pymake/pymake/../make.py libs_tier_platform' failed, return code 2
f:\mozilla\comm-central\mozilla\config\rules.mk:701:0: command 'f:/mozilla-build/python/python.exe f:/mozilla/comm-central/mozilla/build/pymake/pymake/../make.py  tier_platform' failed, return code 2
f:\mozilla\comm-central\obj-i686-pc-mingw32\Makefile:84:0: command 'f:/mozilla-build/python/python.exe f:/mozilla/comm-central/mozilla/build/pymake/pymake/../make.py -C mozilla default' failed, return code 2
f:\mozilla\comm-central\client.mk:366:0: command 'f:/mozilla-build/python/python.exe f:/mozilla/comm-central/mozilla/build/pymake/pymake/../make.py  -C obj-i686-pc-mingw32' failed, return code 2
crashreporter.ini is in ..\..\l10n\zh-TW\toolkit\crashreporter .
and comm-central/mozilla/toolkit/locales/Makefile.in:54
vpath crashreporter.% $(LOCALE_SRCDIR)/crashreporter

vpath statement is ignored when --enable-ui-locale=ab-CD --with-l10n-base=l10n .

LOCALE_SRCDIR is /f/mozilla/l10n/ab-CD/toolkit when locale ab-CD.
LOCALE_SRCDIR is f:\mozilla\comm-central\mozilla\toolkit\locales\en-US when locale en-US .

Maybe, pymake vpath accepts only windows-style path.
objdir/config/autoconf.mk:
L10NBASEDIR     = f:/mozilla/l10n

objdir/mozilla/config/autoconf.mk:
L10NBASEDIR     = /f/mozilla/l10n


I found mozilla/configure option from build log. --with-l10n-base is win-style full path.
this option value is from comm-central/configure.in:7318
if test -n "$L10NBASEDIR"; then
    dnl Override the initial value with the new one which is guaranteed to be an absolute path.
    ac_configure_args="$ac_configure_args --with-l10n-base=$L10NBASEDIR"
fi


running /bin/sh f:/mozilla/comm-central/mozilla/configure  --enable-application=suite --disable-debug --disable-tests --disable-mochitest --disable-debug-symbols --enable-optimize --enable-jemalloc --enable-ui-locale=zh-TW --with-l10n-base=../../l10n --enable-application=../suite --disable-official-branding --with-branding=../suite/branding/nightly --with-l10n-base=f:/mozilla/l10n --cache-file=.././config.cache --srcdir=f:/mozilla/comm-central/mozilla
That was my suspicion (c#2) so not a mozilla core issue but a comm-issue... not sure the best solution though (yet)
Product: Core → MailNews Core
QA Contact: build-config → build-config
Status: UNCONFIRMED → NEW
Ever confirmed: true
I tried other option value. full path option value makes unix-style path.

configure.in:236
        L10NBASEDIR=`cd "$L10NBASEDIR" && pwd`

cd and pwd behavior looks unstable on with pymake on windows.
this is same to mozilla-central.


--with-l10n-base=/f/mozilla/l10n :
L10NBASEDIR     = /f/mozilla/l10n

--with-l10n-base=f:\\mozilla\\l10n :
L10NBASEDIR     = /f/mozilla/l10n

--with-l10n-base=../../l10n MOZ_OBJDIR=./objdir :
L10NBASEDIR     = f:/mozilla/l10n

--with-l10n-base=../../l10n MOZ_OBJDIR=/f/mozilla/mozilla-central/objdir :
L10NBASEDIR     = /f/mozilla/l10n

--with-l10n-base=../../l10n MOZ_OBJDIR=f:/mozilla/mozilla-central/objdir :
L10NBASEDIR     = /f/mozilla/l10n
my idea is ...

1. L10NBASEDIR is always win-style full path on windows.
2. LOCALE_SRCDIR is resolved by make engine.

realpath function is useful for resolving path style.
Study in make realpath function:

Makefile:
WIN_PATH = f:/mozilla-build/
LIN_PATH = /f/mozilla-build/

core_abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(CURDIR)/$(1)))
core_winabspath = $(firstword $(subst /, ,$(call core_abspath,$(1)))):$(subst $(space),,$(patsubst %,\\%,$(wordlist 2,$(words $(subst /, ,$(call core_abspath,$(1)))), $(strip $(subst /, ,$(call core_abspath,$(1)))))))
core_realpath = $(if $(realpath $(1)),$(realpath $(1)),$(call core_abspath,$(1)))

all::
	@echo WIN_PATH = $(WIN_PATH)
	@echo "realpath WIN_PATH = $(realpath $(WIN_PATH))"
	@echo "abspath  WIN_PATH = $(abspath  $(WIN_PATH))"
	@echo "core_abspath    WIN_PATH = $(call core_abspath   ,$(WIN_PATH))"
	@echo "core_winabspath WIN_PATH = $(call core_winabspath,$(WIN_PATH))"
	@echo "core_realpath   WIN_PATH = $(call core_realpath  ,$(WIN_PATH))"
	@echo
	@echo LIN_PATH = $(LIN_PATH)
	@echo "realpath LIN_PATH = $(realpath $(LIN_PATH))"
	@echo "abspath  LIN_PATH = $(abspath  $(LIN_PATH))"
	@echo "core_abspath    LIN_PATH = $(call core_abspath   ,$(LIN_PATH))"
	@echo "core_winabspath LIN_PATH = $(call core_winabspath,$(LIN_PATH))"
	@echo "core_realpath   LIN_PATH = $(call core_realpath  ,$(LIN_PATH))"


result with MozillaBuild make:
$ make
WIN_PATH = f:/mozilla-build/
realpath WIN_PATH = /f/mozilla-build/
abspath  WIN_PATH = /f/mozilla/pymake_realpath/f:/mozilla-build
core_abspath    WIN_PATH = f:/mozilla-build/
core_winabspath WIN_PATH = f::\mozilla-build
core_realpath   WIN_PATH = /f/mozilla-build/

LIN_PATH = /f/mozilla-build/
realpath LIN_PATH = /f/mozilla-build
abspath  LIN_PATH = /f/mozilla-build
core_abspath    LIN_PATH = /f/mozilla-build/
core_winabspath LIN_PATH = f:\mozilla-build
core_realpath   LIN_PATH = /f/mozilla-build


result with pymake:
$ SHELL=${SHELL} python -O ../mozilla-central/build/pymake/make.py
make.py[0]: Entering directory 'f:\mozilla\pymake_realpath'
WIN_PATH = f:/mozilla-build/
realpath WIN_PATH = f:/mozilla-build
abspath  WIN_PATH = f:/mozilla-build/
core_abspath    WIN_PATH =
core_winabspath WIN_PATH = f::\mozilla-build
core_realpath   WIN_PATH =

LIN_PATH = /f/mozilla-build/
realpath LIN_PATH = f:/f/mozilla-build
abspath  LIN_PATH = /f/mozilla-build/
core_abspath    LIN_PATH =
core_winabspath LIN_PATH = f:\mozilla-build
core_realpath   LIN_PATH =
make.py[0]: Leaving directory 'f:\mozilla\pymake_realpath'


result with cygwin make for mozilla:
$ ./make
WIN_PATH = f:/mozilla-build/
realpath WIN_PATH =
abspath  WIN_PATH =
core_abspath    WIN_PATH = f:/mozilla-build/
core_winabspath WIN_PATH = f::\mozilla-build
core_realpath   WIN_PATH = f:/mozilla-build/

LIN_PATH = /f/mozilla-build/
realpath LIN_PATH =
abspath  LIN_PATH =
core_abspath    LIN_PATH = /f/mozilla-build/
core_winabspath LIN_PATH = f:\mozilla-build
core_realpath   LIN_PATH = /f/mozilla-build/


result with cygwin make-3.81:
$ make
WIN_PATH = f:/mozilla-build/
realpath WIN_PATH = /f/mozilla-build
abspath  WIN_PATH = /f/mozilla/pymake_realpath/f:/mozilla-build
core_abspath    WIN_PATH = f:/mozilla-build/
core_winabspath WIN_PATH = f::\mozilla-build
core_realpath   WIN_PATH = /f/mozilla-build

LIN_PATH = /f/mozilla-build/
realpath LIN_PATH = /f/mozilla-build
abspath  LIN_PATH = /f/mozilla-build
core_abspath    LIN_PATH = /f/mozilla-build/
core_winabspath LIN_PATH = f:\mozilla-build
core_realpath   LIN_PATH = /f/mozilla-build
sorry, I mistook Makefile and pymake result.

Makefile:
WIN_PATH = f:/mozilla-build/
LIN_PATH = /f/mozilla-build/

core_abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(CURDIR)/$(1)))
core_winabspath = $(firstword $(subst /, ,$(call core_abspath,$(1)))):$(subst $(space),,$(patsubst %,\\%,$(wordlist 2,$(words $(subst /, ,$(call core_abspath,$(1)))), $(strip $(subst /, ,$(call core_abspath,$(1)))))))
core_realpath = $(if $(realpath $(1)),$(realpath $(1)),$(call core_abspath,$(1)))

all::
	@echo WIN_PATH = $(WIN_PATH)
	@echo "realpath WIN_PATH = $(realpath $(WIN_PATH))"
	@echo "abspath  WIN_PATH = $(abspath  $(WIN_PATH))"
	@echo "core_abspath    WIN_PATH = $(call    core_abspath,$(WIN_PATH))"
	@echo "core_winabspath WIN_PATH = $(call core_winabspath,$(WIN_PATH))"
	@echo "core_realpath   WIN_PATH = $(call   core_realpath,$(WIN_PATH))"
	@echo
	@echo LIN_PATH = $(LIN_PATH)
	@echo "realpath LIN_PATH = $(realpath $(LIN_PATH))"
	@echo "abspath  LIN_PATH = $(abspath  $(LIN_PATH))"
	@echo "core_abspath    LIN_PATH = $(call    core_abspath,$(LIN_PATH))"
	@echo "core_winabspath LIN_PATH = $(call core_winabspath,$(LIN_PATH))"
	@echo "core_realpath   LIN_PATH = $(call   core_realpath,$(LIN_PATH))"


result with pymake:
$ SHELL=${SHELL} python -O ../mozilla-central/build/pymake/make.py
make.py[0]: Entering directory 'f:\mozilla\pymake_realpath'
WIN_PATH = f:/mozilla-build/
realpath WIN_PATH = f:/mozilla-build
abspath  WIN_PATH = f:/mozilla-build/
core_abspath    WIN_PATH = f:/mozilla-build/
core_winabspath WIN_PATH = f::\mozilla-build
core_realpath   WIN_PATH = f:/mozilla-build

LIN_PATH = /f/mozilla-build/
realpath LIN_PATH = f:/f/mozilla-build
abspath  LIN_PATH = /f/mozilla-build/
core_abspath    LIN_PATH = /f/mozilla-build/
core_winabspath LIN_PATH = f:\mozilla-build
core_realpath   LIN_PATH = f:/f/mozilla-build
make.py[0]: Leaving directory 'f:\mozilla\pymake_realpath'
Attached patch patch v1 for mozilla-central (obsolete) — Splinter Review
Attached patch patch v1 for comm-central (obsolete) — Splinter Review
Product: MailNews Core → Core
Attachment #565862 - Flags: review?(ted.mielczarek)
Attachment #565863 - Flags: review?(ted.mielczarek)
Assignee: nobody → h.rayflood
The alternative here would be to use `pwd -W` on Windows systems, which would give you a Windows-style path. Can you try that out?
Comment on attachment 565862 [details] [diff] [review]
patch v1 for mozilla-central

Clearing these reviews until I get an answer.
Attachment #565862 - Flags: review?(ted.mielczarek)
Attachment #565863 - Flags: review?(ted.mielczarek)
Ted, is this what you meant? Works for me here to build XULRunner with 
ac_add_options --with-l10n-base=../../l10n-beta
ac_add_options --enable-ui-locale=de
Attachment #590755 - Flags: review?(ted.mielczarek)
Comment on attachment 590755 [details] [diff] [review]
[backed out] patch for mozilla-central

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

Sorry for the delay, r=me.
Attachment #590755 - Flags: review?(ted.mielczarek) → review+
Attached patch patch for checkin; r=ted (obsolete) — Splinter Review
Assignee: h.rayflood → mail
Status: NEW → ASSIGNED
https://hg.mozilla.org/mozilla-central/rev/fbbf2d56cc8e
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Depends on: 728677
This apparently broken non-pymake builds, see bug 728677.
(In reply to Axel Hecht [:Pike] from comment #17)
> This apparently broken non-pymake builds, see bug 728677.

exactly.
mingw-make isn't accespts win-style path in LOCALE_SRCDIR.
following is resolve to this problem.

(In reply to ABE Hiroki (hATrayflood) from comment #5)
> my idea is ...
> 
> 1. L10NBASEDIR is always win-style full path on windows.
> 2. LOCALE_SRCDIR is resolved by make engine.
> 
> realpath function is useful for resolving path style.

(In reply to ABE Hiroki (hATrayflood) from comment #8)
> Created attachment 565862 [details] [diff] [review]
> patch v1 for mozilla-central

(In reply to ABE Hiroki (hATrayflood) from comment #9)
> Created attachment 565863 [details] [diff] [review]
> patch v1 for comm-central
Okay, so first of all, could someone please back this patch out? I'm on vacation this week and this and cannot fix this immediately.

Ted, what's your opinion on this? Take the solution Hiroki is suggesting or detect the usage of pymake in configure.in and use pwd -W only in this case?

Axel: Are the l10n builds actually complete rebuilds or only repacks? Where can I find the mozconfigs used for those builds to make sure it doesn't break the next time?
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Going to land a backout on inbound in a minute.

The l10n builds are repacks, and they're not using a mozconfig. Documentation on how to build them locally is at https://developer.mozilla.org/en/Creating_a_Language_Pack#L10n_binary_repack
I like Hiroki's suggestion, it seems less complicated to let make determine the full path.
Hiroki: do you have time to update your patch and get it reviewed? Otherwise I'll continue with it.
Attachment #565862 - Attachment is obsolete: true
Attachment #565863 - Attachment is obsolete: true
Attachment #599517 - Flags: review?(ted.mielczarek)
Attachment #599518 - Flags: review?(ted.mielczarek)
Comment on attachment 599517 [details] [diff] [review]
patch v2 for mozilla-central mozilla13

I'm not going to have time to review this, shifting the review request.
Attachment #599517 - Flags: review?(ted.mielczarek) → review?(khuey)
Attachment #599518 - Flags: review?(ted.mielczarek) → review?(khuey)
Keywords: checkin-needed
Attachment #596814 - Attachment is obsolete: true
Attachment #590755 - Attachment description: patch for mozilla-central → [backed out] patch for mozilla-central
Attachment #590755 - Attachment is obsolete: true
(In reply to Ryan VanderMeulen from comment #28)
> http://hg.mozilla.org/comm-central/rev/7ad89ff81d2c
> https://hg.mozilla.org/integration/mozilla-inbound/rev/6cf17fa1bc34
> 
> To make life easier for those checking in patches for you, please follow the
> directions below to make future patches easier to work with. Thanks!
> https://developer.mozilla.org/en/
> Mercurial_FAQ#How_can_I_generate_a_patch_for_somebody_else_to_check-
> in_for_me.3F

oh, thanks to your advise! I'll make a patch with this way.
This may have broken Windows comm-central builds (oddly enough, mozilla-central didn't have any issues with it).

running /bin/sh /e/buildbot/win32-comm-central-build/build/mozilla/configure  --enable-application=mail --enable-update-channel=nightly --enable-update-packaging --disable-debug --enable-optimize --enable-tests --enable-jemalloc --enable-application=../mail --disable-official-branding --with-branding=../mail/branding/nightly --with-l10n-base=c:/Documents and Settings/cltbld --cache-file=.././config.cache --srcdir=/e/buildbot/win32-comm-central-build/build/mozilla
Adding configure options from /e/buildbot/win32-comm-central-build/build/.mozconfig:
  --enable-application=mail
  --enable-update-channel=nightly
  --enable-update-packaging
  --disable-debug
  --enable-optimize
  --enable-tests
  --enable-jemalloc
*** Fix above errors and then restart with               "make -f client.mk build"
make[1]: Leaving directory `/e/buildbot/win32-comm-central-build/build'
configure: warning: Settings/cltbld: invalid host type
configure: error: can only configure for one host and one target at a time
configure: error: /e/buildbot/win32-comm-central-build/build/mozilla/configure failed for mozilla
make[1]: *** [configure] Error 1
make: *** [objdir-tb/config.status] Error 2
program finished with exit code 2

Before backing out, it would be good to try clobbering first.
Triggered a clobber and still failing on comm-central. Backed out. Probably a good idea to run the next patch through the comm-central Tryserver too.
http://hg.mozilla.org/comm-central/rev/5505c49e115d
Whiteboard: [don't close when landing on m-c]
(In reply to Ryan VanderMeulen from comment #31)
> Triggered a clobber and still failing on comm-central. Backed out. Probably
> a good idea to run the next patch through the comm-central Tryserver too.
> http://hg.mozilla.org/comm-central/rev/5505c49e115d

After landing this on m-c, we should test this on try for c-c.
I've just pushed this to c-c's tryserver for initial verification:

http://build.mozillamessaging.com/tinderboxpushlog/?tree=ThunderbirdTry&rev=355c0e238fda
Try server build failed. It fails here:

running /bin/sh /e/buildbot/try-comm-cen-w32/build/mozilla/configure  --enable-application=mail --enable-update-channel=nightly --enable-update-packaging --disable-debug --enable-optimize --enable-tests --enable-jemalloc --enable-application=../mail --disable-official-branding --with-branding=../mail/branding/nightly --with-l10n-base=c:/Documents and Settings/cltbld --cache-file=.././config.cache --srcdir=/e/buildbot/try-comm-cen-w32/build/mozilla
Adding configure options from /e/buildbot/try-comm-cen-w32/build/.mozconfig:
  --enable-application=mail
  --enable-update-channel=nightly
  --enable-update-packaging
  --disable-debug
  --enable-optimize
  --enable-tests
  --enable-jemalloc
configure: warning: Settings/cltbld: invalid host type
configure: error: can only configure for one host and one target at a time
configure: error: /e/buildbot/try-comm-cen-w32/build/mozilla/configure failed for mozilla

This is when we're invoking the mozilla-central configure. Therefore I suspect that landing just the mozilla-central patch would bust us.
Aha, from the list of arguments:

--with-l10n-base=c:/Documents and Settings/cltbld

With spaces - so that would explain the "Settings/cltbld"

My suspicion then is that we need to generate some quotes for:

http://hg.mozilla.org/comm-central/annotate/96a18db9f160//configure.in#l7306
https://hg.mozilla.org/mozilla-central/rev/6cf17fa1bc34
Status: REOPENED → RESOLVED
Closed: 8 years ago8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla13
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → ASSIGNED
I found a bug when following option. now I'm writing a patch and checking it.

ac_add_options --with-l10n-base="S:\tmp\Documents and Settings\l10n"
ac_add_options --with-l10n-base="S:/tmp/Documents and Settings/l10n"
ac_add_options --with-l10n-base=S:/tmp/Documents\ and\ Settings/l10n

please backout https://hg.mozilla.org/integration/mozilla-inbound/rev/6cf17fa1bc34 and https://hg.mozilla.org/mozilla-central/rev/6cf17fa1bc34 .
(In reply to Mark Banner (:standard8) from comment #35)
> Aha, from the list of arguments:
> 
> --with-l10n-base=c:/Documents and Settings/cltbld
> 
> With spaces - so that would explain the "Settings/cltbld"
> 
> My suspicion then is that we need to generate some quotes for:
> 
> http://hg.mozilla.org/comm-central/annotate/96a18db9f160//configure.in#l7306

Was it work with --with-l10n-base=c:/Documents and Settings/cltbld really?
L10NBASEDIR is used to vpath. but vpath don't accepts a path which includes space.
I tried to build --with-l10n-base=c:/Documents and Settings/cltbld without my patch. and it failed.
I think --with-l10n-base should not be includes space.
(In reply to ABE Hiroki (hATrayflood) from comment #37)
> I found a bug when following option. now I'm writing a patch and checking it.
> 
> ac_add_options --with-l10n-base="S:\tmp\Documents and Settings\l10n"
> ac_add_options --with-l10n-base="S:/tmp/Documents and Settings/l10n"
> ac_add_options --with-l10n-base=S:/tmp/Documents\ and\ Settings/l10n
> 
> please backout
> https://hg.mozilla.org/integration/mozilla-inbound/rev/6cf17fa1bc34 and
> https://hg.mozilla.org/mozilla-central/rev/6cf17fa1bc34 .

sorry, I cancel this backout.
OK, so to be clear, mozilla-central is being left alone at this point. Follow-up patches are coming and will be checked in with proper review and testing on the Tryserver.
Assignee: imphil → h.rayflood
(In reply to ABE Hiroki (hATrayflood) from comment #38)
> (In reply to Mark Banner (:standard8) from comment #35)
> > Aha, from the list of arguments:
> > 
> > --with-l10n-base=c:/Documents and Settings/cltbld
> > 
> > With spaces - so that would explain the "Settings/cltbld"
> > 
> > My suspicion then is that we need to generate some quotes for:
> > 
> > http://hg.mozilla.org/comm-central/annotate/96a18db9f160//configure.in#l7306
> 
> Was it work with --with-l10n-base=c:/Documents and Settings/cltbld really?
> L10NBASEDIR is used to vpath. but vpath don't accepts a path which includes
> space.
> I tried to build --with-l10n-base=c:/Documents and Settings/cltbld without
> my patch. and it failed.
> I think --with-l10n-base should not be includes space.

The HOME directory has always been c:/Documents and Settings/cltbld.

The difference with the patch is that if we don't specify --with-l10n-base, then this line:

L10NBASEDIR=`cd $L10NBASEDIR && pwd -W`

resolves to:

L10NBASEDIR=`cd && pwd -W`

hence changing directory to the HOME directory and doing a pwd there.

This has the side effect that L10NBASEDIR is always set, which causes the comm-central configure to pass --with-l10n-base to the mozilla-central configure.

I'm also assuming it doesn't matter that you're changing L10NBASEDIR after doing the AC_SUBST(L10NBASEDIR) call for it.
Unbitrotted patch.
What still needs doing before this can be checked in?
Attachment #599518 - Attachment is obsolete: true
Comment on attachment 599517 [details] [diff] [review]
patch v2 for mozilla-central mozilla13

>     case "$host" in
>     *-mingw*)
>         MOZ_BUILD_ROOT=`cd $MOZ_BUILD_ROOT && pwd -W`
>+        L10NBASEDIR=`cd $L10NBASEDIR && pwd -W`
This fails horribly when L10NBASEDIR is unset, as then it becomes c:/Documents and Settings/$USER and as we all know spaces are bad...
Something related to this must have changed in the last two weeks, because I get the error mentioned in comment #1 with --with-l10n-base not set.

It gets set to c:\documents and settings\... though which causes a build error on my WinXP mingw build.
Mass close of pymake-related bugs.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago3 years ago
Resolution: --- → WONTFIX
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.