Build Error on Jenkins Slave (Generate Ninja and VS Proj)

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Build Error on Jenkins Slave (Generate Ninja and VS Proj)

Postby leeroy » Mon Jan 06, 2020 6:54 pm

Generating Ninja and Visual Studio project files fails on Jenkins Slave. However, if I login to that slave and run the same build script it is fine.

Building CEF 3809
Windows Server 2016 Datacenter
Version 1607
OS Build 14393.2972

Also installed pywin32 found in viewtopic.php?f=6&t=17258&p=44073&hilit=+windows+build#p44073

Using powershell and on step 7 of the master build quick start `7. Create the "c:\code\chromium_git\chromium\src\cef\create.bat" script with the following contents.`....
Code: Select all
$env:CEF_USE_GN=1
$env:GN_DEFINES="is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome target_cpu=x86"
$env:GN_ARGUMENTS="--ide=vs2019 --sln=cef --filters=//cef/*"
$env:CEF_VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars32.bat"
cd c:\code\chromium_git\chromium\src\cef
& .\cef_create_projects.bat


Error Output:
Code: Select all
63 patches total (63 applied, 0 skipped, 0 failed)


Generating CEF project files...
Creating C:\code\chromium_git\chromium\src\out\Release_GN_x86 directory.
Traceback (most recent call last):

  File "C:/code/chromium_git/chromium/src/build/toolchain/win/setup_toolchain.py", line 294, in <module>

    main()

  File "C:/code/chromium_git/chromium/src/build/toolchain/win/setup_toolchain.py", line 286, in main

    assert vc_lib_um_path

AssertionError

Traceback (most recent call last):

  File "C:/code/chromium_git/chromium/src/build/toolchain/win/setup_toolchain.py", line 294, in <module>

    main()

  File "C:/code/chromium_git/chromium/src/build/toolchain/win/setup_toolchain.py", line 286, in main
Traceback (most recent call last):
  File "tools\gclient_hook.py", line 132, in <module>
    RunAction(src_dir, cmd)
  File "C:\code\chromium_git\chromium\src\cef\tools\gclient_util.py", line 40, in RunAction
    command, cwd=dir, always_show_header=True, print_stdout=True)
  File "c:\code\depot_tools\gclient_utils.py", line 614, in CheckCallAndFilter
    rv, args, kwargs.get('cwd', None), None, None)
subprocess2.CalledProcessError: Command 'gn gen out\\Release_GN_x86 --ide=vs2019 --sln=cef --filters=//cef/*' returned non-zero exit status 1 in C:\code\chromium_git\chromium\src


    assert vc_lib_um_path

AssertionError

ERROR at //build/config/win/BUILD.gn:323:27: Script returned non-zero exit code.
  vcvars_toolchain_data = exec_script("../../toolchain/win/setup_toolchain.py",
                          ^----------
Current dir: C:/code/chromium_git/chromium/src/out/Release_GN_x86/
Command: c:/code/depot_tools/bootstrap-3_8_0_chromium_8_bin/python/bin/python.exe C:/code/chromium_git/chromium/src/build/toolchain/win/setup_toolchain.py "C:\Program Files (x86)/Microsoft Visual Studio/2019/Professional" "C:\Program Files (x86)\Windows Kits\10" "C:\Windows\System32;C:\Windows\SysWOW64;Arm64Unused" win x86 none
Returned 1 and printed out:

vc_bin_dir = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.24.28314\\bin\\HostX64\\x86"

include_flags_I = "\"/I..\\..\\..\\..\\..\\..\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.24.28314\\ATLMFC\\include\" \"/I..\\..\\..\\..\\..\\..\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.24.28314\\include\""

include_flags_imsvc = "\"-imsvc..\\..\\..\\..\\..\\..\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.24.28314\\ATLMFC\\include\" \"-imsvc..\\..\\..\\..\\..\\..\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.24.28314\\include\""

vc_lib_path = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.24.28314\\lib\\x86"

vc_lib_atlmfc_path = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.24.28314\\ATLMFC\\lib\\x86"


See //build/config/BUILDCONFIG.gn:446:5: which caused the file to be included.
    "//build/config/win:nominmax",
    ^----------------------------
LastExitCode: 1


If I simply login to this build box, open powershell, and execute the script the build works fine. I cannot figure out why jenkins would yield different results... I've even tried running the script multiple times (on Jenkins), but it fails on the same step 7 of the masterbuildquickstart guide. While we can produce the binaries we need with manual intervention, we need to automate this. Any suggestions are much appreciated.
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: Build Error on Jenkins Slave (Generate Ninja and VS Proj

Postby magreenblatt » Tue Jan 07, 2020 4:51 am

What user account executes the automated run? How does the $env and permissions of that account differ from your logged-in account?

You might also want to try the automated build setup: https://bitbucket.org/chromiumembedded/ ... igurations
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: Build Error on Jenkins Slave (Generate Ninja and VS Proj

Postby Czarek » Tue Jan 07, 2020 4:55 am

It seems that environment variables are not set, specifically %LIB%. See build commands here: https://bitbucket.org/chromiumembedded/ ... figuration

What instructions are you following that makes you set CEF_VCVARS?
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: Build Error on Jenkins Slave (Generate Ninja and VS Proj

Postby leeroy » Tue Jan 07, 2020 10:20 pm

Thanks guys! It appears Jenkins was mangling the PATH. There is some global settings that are changing things I need to chase down :x. Intervening on the PATH allowed the build to run to completion.

Regarding the CEF_VCVARS I think there was a problem with an older build where the environment was not getting setup correctly and the vcvars32 corrected that. It appears this is also no longer necessary.

Again thanks for the tips!
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: Build Error on Jenkins Slave (Generate Ninja and VS Proj

Postby leeroy » Tue Jan 07, 2020 11:13 pm

Actually about the CEF_VCVARS apparently that is needed... else

Code: Select all
-------- Running "c:\code\depot_tools\bootstrap-3_8_0_chromium_8_bin\python\bin\python.exe fuse_gtest_files.py "c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests"" in "c:\code\chromium_git\chromium\src\third_party\googletest\src\googletest\scripts"...
Building gtest directory structure.
Creating c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\gtest\include\gtest directory.
Moving c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\gtest\gtest.h file.
Creating c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\gtest\src directory.
Moving c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\gtest\gtest-all.cc file.
Transferring c:\code\chromium_git\chromium\src\third_party\googletest\src\googletest\LICENSE file.
Transferring c:\code\chromium_git\chromium\src\cef\tests\gtest\README.cef.in file.
Processing "c:\code\chromium_git\chromium\src\cef\tests\cefclient\CMakeLists.txt.in" to "c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\cefclient\CMakeLists.txt"...
Processing "c:\code\chromium_git\chromium\src\cef\tests\cefsimple\CMakeLists.txt.in" to "c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\cefsimple\CMakeLists.txt"...
Processing "ERROR: Failed to find vcvars
c:\code\chromium_git\chromium\src\cef\tests\gtest\CMakeLists.txt.in" to "c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\gtest\CMakeLists.txt"...
Processing "c:\code\chromium_git\chromium\src\cef\tests\ceftests\CMakeLists.txt.in" to "c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\tests\ceftests\CMakeLists.txt"...
Transferring c:\code\chromium_git\chromium\src\cef\cef_paths.gypi file.
Transferring c:\code\chromium_git\chromium\src\cef\cef_paths2.gypi file.
Creating c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\Debug directory.
-------- Running "msvs_env.bat win32 python combine_libs.py -o "c:\code\chromium_git\chromium\src\cef\binary_distrib\cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\Debug\cef_sandbox.lib" "c:\code\chromium_git\chromium\src\out\Debug_GN_x86_sandbox\obj\base\base.lib" "c:\code\chromium_git\chromium\src\out\Debug_GN_x86_sandbox\obj\base\base_static.lib" "c:\code\chromium_git\chromium\src\out\Debug_GN_x86_sandbox\obj\base\third_party\dynamic_annotations\dynamic_annotations.lib" "c:\code\chromium_git\chromium\src\out\Debug_GN_x86_sandbox\obj\base\win\pe_image.lib" "c:\code\chromium_git\chromium\src\out\Debug_GN_x86_sandbox\obj\cef\cef_sandbox.lib" "c:\code\chromium_git\chromium\src\out\Debug_GN_x86_sandbox\obj\sandbox\win\sandbox.lib"" in "c:\code\chromium_git\chromium\src\cef\tools"...
Traceback (most recent call last):
  File "c:\code\chromium_git\chromium\src\cef\tools\\make_distrib.py", line 867, in <module>
    os.path.join(dst_dir, 'cef_sandbox.lib'))
  File "c:\code\chromium_git\chromium\src\cef\tools\\make_distrib.py", line 381, in combine_libs
    run(cmdline, os.path.join(cef_dir, 'tools'))
  File "c:\code\chromium_git\chromium\src\cef\tools\\make_distrib.py", line 415, in run
    args, cwd=working_dir, env=os.environ, shell=(sys.platform == 'win32'))
  File "c:\code\depot_tools\bootstrap-3_8_0_chromium_8_bin\python\bin\lib\subprocess.py", line 190, 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_76.1.13+gf19c584+chromium-76.0.3809.132_windows32\\Debug\\cef_sandbox.lib',
'c:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86_sandbox\\obj\\base\\base.lib', 'c:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86_sandbox\\obj\\base\\base_static.lib',
'c:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86_sandbox\\obj\\base\\third_party\\dynamic_annotations\\dynamic_annotations.lib',
'c:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86_sandbox\\obj\\base\\win\\pe_image.lib',
'c:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86_sandbox\\obj\\cef\\cef_sandbox.lib',
'c:\\code\\chromium_git\\chromium\\src\\out\\Debug_GN_x86_sandbox\\obj\\sandbox\\win\\sandbox.lib']' returned non-zero exit status 1
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm


Return to Support Forum

Who is online

Users browsing this forum: Majestic-12 [Bot] and 54 guests