- Code: Select all
cd /path/to/chromium/src/cef/tools
./make_distrib.sh --ninja-build
It can fail.
-------- Running "msvs_env.bat win32 python combine_libs.py -o "C:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_3.3282.1722.g50ca692_windows32\Debug\cef_sandbox.lib" "C:\code\chromium_git\chromium\src\out\Debug_GN_x86\obj\base\base.lib" "C:\code\chromium_git\chromium\src\out\Debug_GN_x86\obj\base\base_static.lib" "C:\code\chromium_git\chromium\src\out\Debug_GN_x86\obj\base\third_party\dynamic_annotations\dynamic_annotations.lib" "C:\code\chromium_git\chromium\src\out\Debug_GN_x86\obj\base\win\pe_image.lib" "C:\code\chromium_git\chromium\src\out\Debug_GN_x86\obj\cef\cef_sandbox.lib" "C:\code\chromium_git\chromium\src\out\Debug_GN_x86\obj\sandbox\win\sandbox.lib"" in "C:\code\chromium_git\chromium\src\cef\tools"...
ERROR: Failed to find vcvars
Traceback (most recent call last):
File "make_distrib.py", line 696, in <module>
os.path.join(dst_dir, 'cef_sandbox.lib'))
File "make_distrib.py", line 279, in combine_libs
run(cmdline, os.path.join(cef_dir, 'tools'))
File "make_distrib.py", line 288, in run
args, cwd=working_dir, env=os.environ, shell=(sys.platform == 'win32'))
File "c:\code\depot_tools\win_tools-2_7_6_bin\python\bin\lib\subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['msvs_env.bat', 'win32', 'python', 'combine_libs.py', '-o', 'C:\\code\\chromium_git\\chromium\\src\\cef\\binary_distrib\\cef_binary_3.3282.1722.g50ca692_windows32\\Debug\\cef_sandbox.lib', 'C:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86\\obj\\base\\base.lib', 'C:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86\\obj\\base\\base_static.lib', 'C:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86\\obj\\base\\third_party\\dynamic_annotations\\dynamic_annotations.lib', 'C:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86\\obj\\base\\win\\pe_image.lib', 'C:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86\\obj\\cef\\cef_sandbox.lib', 'C:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86\\obj\\sandbox\\win\\sandbox.lib']' returned non-zero exit status 1
Looking around, it looks like the msvs_env.bat file is responsible for finding vsvars. However, it appears to only being looking for vcvars for VS2017 in "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build", which would thus require that only Professional edition installations of Visual Studio could package files. Visual Studio 2017 Enterprise edition, for instance, installs in "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build". I'm assuming Community Edition may install elsewhere as well.
I duplicated the VS2017 lines with the Professional file path and changed it to look for Enterprise editions of Visual Studio as well and it seems to move past that (into a different error, but related error with combine_libs.py).
- Code: Select all
:: Hardcoded list of MSVS paths for VS2017 32-bit builds.
set vcvars="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars32.bat"
if exist %vcvars% goto found_vcvars
set vcvars="%PROGRAMFILES%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars32.bat"
if exist %vcvars% goto found_vcvars
set vcvars="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
if exist %vcvars% goto found_vcvars
set vcvars="%PROGRAMFILES%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
if exist %vcvars% goto found_vcvars
:check_win64
:: Hardcoded list of MSVS paths for VS2017 64-bit builds.
set vcvars="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat"
if exist %vcvars% goto found_vcvars
set vcvars="%PROGRAMFILES%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat"
if exist %vcvars% goto found_vcvars
set vcvars="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if exist %vcvars% goto found_vcvars
set vcvars="%PROGRAMFILES%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
if exist %vcvars% goto found_vcvars
I'm not really sure who is responsible for this file (CEF, Chromium, some other team), or what other changes may need to be made, but this seems to be a potential issue others could encounter when attempting to package up the files after building.