Closed
Bug 907642
Opened 11 years ago
Closed 11 years ago
Specifying absolute path for MOZ_OBJDIR on another hard drive breaks build
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla27
People
(Reporter: mcsmurf, Assigned: benjamin)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
2.28 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
I'm currently trying to build Firefox on Windows with MOZ_OBJDIR being on another hard drive, so I wanted to specify an absolute path. It turns out this currently breaks the build: $ mach build 0:00.18 C:/mozilla-build/msys/bin/sh.exe -c c:/mozilla-build/python/python.exe c:/mozilla/tree-hg/comm-central/mozilla/build/pymake/make.py -f client.mk -s 0:01.79 Adding client.mk options from c:/mozilla/tree-hg/comm-central/mozilla/.mozconfig: 0:01.79 MOZ_OBJDIR=f:/mozilla/firefox-objdir-test 0:01.79 MOZ_MAKE_FLAGS=-j6 [...] 0:05.69 New python executable in f:/mozilla/firefox-objdir-test/_virtualenv\Scripts\python2.7.exe 0:05.69 Also creating executable in f:/mozilla/firefox-objdir-test/_virtualenv\Scripts\python.exe 0:05.87 Installing setuptools................done. 0:06.40 Installing pip...................done. 0:06.46 Traceback (most recent call last): 0:06.47 File "c:/mozilla/tree-hg/comm-central/mozilla/build/virtualenv/populate_virtualenv.py", line 382, in <mod ule> 0:06.47 manager.populate() 0:06.47 File "c:/mozilla/tree-hg/comm-central/mozilla/build/virtualenv/populate_virtualenv.py", line 277, in popu late 0:06.47 handle_package(package) 0:06.47 File "c:/mozilla/tree-hg/comm-central/mozilla/build/virtualenv/populate_virtualenv.py", line 217, in hand le_package 0:06.47 f.write("%s\n" % os.path.relpath(path, python_lib)) 0:06.47 File "f:\mozilla\firefox-objdir-test\_virtualenv\lib\ntpath.py", line 512, in relpath 0:06.47 % (path_prefix, start_prefix)) 0:06.47 ValueError: path is on drive c:, start on drive f: 0:06.47 Traceback (most recent call last): 0:06.47 File "c:/mozilla/tree-hg/comm-central/mozilla/build/virtualenv/populate_virtualenv.py", line 384, in <mod ule> 0:06.47 manager.ensure() 0:06.47 File "c:/mozilla/tree-hg/comm-central/mozilla/build/virtualenv/populate_virtualenv.py", line 103, in ensu re 0:06.47 return self.build() 0:06.47 File "c:/mozilla/tree-hg/comm-central/mozilla/build/virtualenv/populate_virtualenv.py", line 327, in buil d 0:06.47 raise Exception('Error populating virtualenv.') 0:06.47 Exception: Error populating virtualenv. My .mozconfig file: ac_add_options --enable-debug ac_add_options --enable-tests ac_add_options --enable-application=browser mk_add_options MOZ_OBJDIR=f:/mozilla/firefox-objdir-test mk_add_options MOZ_MAKE_FLAGS="-j6" I've also tried other variants like f:\\mozilla\\firefox-objdir-test or /f/mozilla/firefox-objdir-test, this just gives me different errors: 0:01.81 No rule to make target 'f:\\mozilla\\firefox-objdir-test/Makefile' needed by ['<command-line>', 'f:\\\\mozilla\\\\firefox-objdir-test/Makefile'] and 0:01.03 c:\mozilla\tree-hg\comm-central\mozilla\client.mk:137:2:For Windows Pymake builds, MOZ_OBJDIR must be a Windows [and not MSYS] style path.
Comment 1•11 years ago
|
||
Ugh. Can you work around this for the time being?
Reporter | ||
Comment 2•11 years ago
|
||
Yes, I use NTFS symbolic links for now :) (for example as reference for others: run the command "mklink /D obj-i686-pc-mingw32 F:\mozilla\firefox-objdir" with admin privs once in the source folder)
Comment 4•11 years ago
|
||
It looks like this is just what os.path.relpath gives when you give it two paths on different drives: >>> os.path.relpath("c:\foo", "d:\foo") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\mozilla-build\python\lib\ntpath.py", line 512, in relpath % (path_prefix, start_prefix)) ValueError: path is on drive C:, start on drive d: I guess we just need smarter handling here that writes the abs path if the paths are on different drives: http://hg.mozilla.org/mozilla-central/annotate/8f8a683dfc42/build/virtualenv/populate_virtualenv.py#l234
Comment 5•11 years ago
|
||
Indeed. Let's tackle this after populate_virtualenv.py is moved so we can avoid bit rot.
Depends on: 794506
Assignee | ||
Comment 6•11 years ago
|
||
Assignee | ||
Comment 7•11 years ago
|
||
Please ignore the toolkit/xre change, that's for another bug
Comment 8•11 years ago
|
||
Comment on attachment 807811 [details] [diff] [review] bug918869-virtualenv Review of attachment 807811 [details] [diff] [review]: ----------------------------------------------------------------- ::: toolkit/xre/nsWindowsDllBlocklist.cpp @@ +132,5 @@ > { "prnx.dll", MAKE_VERSION(1, 3, 334, 9) }, > > + // Older belgian ID card software causes Firefox to crash or hang on > + // shutdown, bug 831285 and 918399. > + { "beid35cardlayer.dll", MAKE_VERSION(3, 5, 6, 6968) }, o rly?
Attachment #807811 -
Flags: review?(gps) → review+
Updated•11 years ago
|
Comment 9•11 years ago
|
||
It looks like the patch was attributed to bug 918869, which has been marked as a dupe of this. Anyway, this landed in 97e1d3a2f64e.
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Updated•11 years ago
|
Target Milestone: --- → mozilla27
Updated•6 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•