mitchcapper / CefSharpDockerfiles

Automated chrome cef building and cefsharp building with docker and build scripts
33 stars 10 forks source link

Building CEF image fails #2

Closed TKGNET closed 5 years ago

TKGNET commented 5 years ago

When I tried to build the current CefSharp branch with proprietary codecs the script failed building the CEF environment: CEF.Build1.txt

versions.ps1: versions.ps1.txt

I tried these steps to track the issue down:

  1. used a fresh installation of Win10x64 1803 to eliminate environment issues

  2. commented out 'RUN c:/code/cef_build.ps1' in dockerfile_cef Attached to cef container with remote powershell: Checked environment variables: ok Called 'c:/code/depot_tools/python.bat c:/code/automate/automate-git.py --download-dir=c:/code --branch=3396 --no-build --no-debug-build --no-distrib' --> automate-git.py failed in update_depot_tools Seems for some reason this is the culprit.

  3. As a workaround I disabled the update as of here: https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding#markdown-header-legacy-release-branches-unsupported by adding following lin to dockerfile_cef: ENV DEPOT_TOOLS_UPDATE 0

This builds the CEF image, but depot_tools are probably unsynced now to the correct branch: 3396

Chromium sources are currently loading, will take awhile. [sry for editing: did have formatting problems]

mitchcapper commented 5 years ago

The point of docker is it should eliminate all environmental issues so I wouldn't worry about that. Can you post the output when you manually ran it? The output from outside indicates for some issue with the hyperV container connection. I am surprised you needed the DEPOT_TOOLS_UPDATE 0 as I built 67 within the last month without it.

TKGNET commented 5 years ago

Will do as soon as the compile has finished. It just finished x64 compile after 18(!) hours on my old i5-4570 (4c/4t) 16 GB RAM / 500GB SSD. Manual compile takes ~7 hours in comparison, if (!) I get the vs setup right.

But am happy that it completed the first step ;)

One thing I noticed though: you use c:\code as the download folder, instead of the default c:\code\chromium_git. Could this be an issue, as it tries to override code\depot_tools while python interpreter is running automate_py ?

Will try using the recommended structure tomorrow as well ...

ty for the quick reply and your work

mitchcapper commented 5 years ago

@TKGNET email me its on my GH page, I can make some suggestions on speeding it up.

TKGNET commented 5 years ago

Fantastic, compile executed flawlessly both for cef and cefsharp in one run, something I have never achieved on my own before.

Did some testing on above issue: attached to cef image and run automate_git.py manually:

PS C:\code\depot_tools> c:/code/depot_tools/python.bat c:/code/automate/automate-git.py --download-dir=c:/code --branch=3396 --no-build --no-debug-build --no-distrib
--> Download Directory: c:\code
--> Depot Tools Directory: c:\code\depot_tools
--> Updating depot_tools
-------- Running "update_depot_tools.bat" in "c:\code\depot_tools"...
ERRO[0031] Error waiting for container: failed to shutdown container: container 0a229a52570a632ae14242a72395c743d63de1f3fda42bee5de43e6c36360820 encountered an error during Shutdown: failure in a Windows system call: The connection with the Virtual Machine hosting the container was closed. (0xc037010a)
PS G:\CefSharpDockerfiles-master>

Output if a different download-dir specified:

PS C:\code\depot_tools> c:/code/depot_tools/python.bat c:/code/automate/automate-git.py --download-dir=c:/code/chromium_git --branch=3396 --no-build --no-debug-build --no-distrib
--> Creating directory c:\code\chromium_git
--> Download Directory: c:\code\chromium_git
--> Depot Tools Directory: c:\code\chromium_git\depot_tools
--> Extracting https://storage.googleapis.com/chrome-infra/depot_tools.zip to c:\code\chromium_git\depot_tools.
--> Updating depot_tools
-------- Running "update_depot_tools.bat" in "c:\code\chromium_git\depot_tools"...
Downloading CIPD client for windows-386 from https://chrome-infra-packages.appspot.com/client?platform=windows-386&version=git_revision:00e2d8b49a4e7505d1c71f19d15c9e7c5b9245a5...
--> CEF Branch: 3396
--> CEF URL: https://bitbucket.org/chromiumembedded/cef.git
--> CEF Source Directory: c:\code\chromium_git\cef
-------- Running "c:\code\chromium_git\depot_tools\git.bat clone https://bitbucket.org/chromiumembedded/cef.git c:\code\chromium_git\cef" in "c:\code\chromium_git"...

Looking into automate_git.py, line 1156 ff.: automate_git.py will always update depot_tools in the subdirectory of --download-dir

This can be suppressed either

mitchcapper commented 5 years ago

I am going to close this current windows builds of docker allow for processed based containerization which greatly help with the build issues.