cefsharp / cef-binary Goto Github PK
View Code? Open in Web Editor NEWNuGet repackaging of the CEF binaries provided by Chromium Embedded Framework
Home Page: https://cef-builds.spotifycdn.com/index.html
License: Other
NuGet repackaging of the CEF binaries provided by Chromium Embedded Framework
Home Page: https://cef-builds.spotifycdn.com/index.html
License: Other
chromiumembeddedframework.runtime
arch specific packageschromiumembeddedframework.runtime
arch specific packagesTarget is to make them compatible so we can deprecate the old Cef.redist packages.
When trying to build Cef from source - https://github.com/cefsharp/cef-binary/wiki/Building-Cef-from-source the process hangs at the following
[997/15614] RULE Generating C++ and Py...e from proto\layer_tree_settings.proto
Hi team,
I want to build libcef_dll_wrapper.lib
for Visual studio 2010
for latest (v37) cefsharp.To do this I have downloaded cef-binary-master.zip from https://github.com/cefsharp/cef-binary. changed build.ps1
as suggested by @jornh @ cefsharp/CefSharp#810 (comment) but I am not able to run build.ps1
file getting error
Copy-Item : Cannot find path 'E:\Downloads\cef-binary-master_V37\cef-binary-master\cef_binary_3.y.z_windows64\include'
because it does not exist.
At E:\Downloads\cef-binary-master_V37\cef-binary-master\build.ps1:117 char:12
After checking path E:\Downloads\cef-binary-master_V37\cef-binary-master\cef_binary_3.y.z_windows64\
i found that only .empty
file is there. SO how can i download
At some point, this should be done. This issue exists to remind us about this fact.
As @amaitland pointed out, the immediate effect is that the number of support requests will increase. We will have to factor this into the equation: unless we are ready and willing to accept this, it should be postponed until a more suitable time.
I think that perhaps CefSharp 63 or 64 would be an appropriate time to do this.
Hey,
I've successfully compiled the VS 2013 build (both x86 and x64).
However VS 2012 fails in build.ps1, with:
CL.exe exited with code -1073741515
I found this info, which might help:
http://stackoverflow.com/questions/22038660/visual-studio-2013-cl-exe-exited-with-code-1073741515
Any ideas/suggestions @peters and @jornh? It's probably an easy fix for you guys :)
I'm using build.ps1 with --target vs2022 and get the error:
Starting to build targeting toolchain v143
Targeting v143 using configuration Release on platform (System.Collections.Hashtable.ArchLong)
VSWhere path C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe
2019InstallPath:
Caught an exception: Visual Studio 2019 was not found
Exception Type: Microsoft.PowerShell.Commands.WriteErrorException
Stack Trace: at Die, C:\Users\Jenkins\AppData\Local\Jenkins\.jenkins\workspace\cefsharp\cef-binary\cef-binary-master\build.ps1: line 99
at Msvs, C:\Users\Jenkins\AppData\Local\Jenkins\.jenkins\workspace\cefsharp\cef-binary\cef-binary-master\build.ps1: line 254
at VSX, C:\Users\Jenkins\AppData\Local\Jenkins\.jenkins\workspace\cefsharp\cef-binary\cef-binary-master\build.ps1: line 380
at <ScriptBlock>, C:\Users\Jenkins\AppData\Local\Jenkins\.jenkins\workspace\cefsharp\cef-binary\cef-binary-master\build.ps1: line 746
at <ScriptBlock>, C:\Users\Jenkins\AppData\Local\Jenkins\.jenkins\workspace\cefsharp\cef-binary\cef-binary-master@tmp\durable-c2e5ba2c\powershellScript.ps1: line 3
at <ScriptBlock>, <No file>: line 1
at <ScriptBlock>, <No file>: line 1
powershell.exe : Die : Visual Studio 2019 was not found
This seems to be related to
Line 239 in 0dd2953
Is it possible to upgrade cef sdk to 3.3325 or latest to sync with x86 redist version?
I am getting geolocation entry point is not found in libcef.dll in my c++ application if I use the latest x86 version. Because I used 3.3239.1723 lib version to link my c++ application. Please help Thank you in Advance
The last cef.sdk packages are for chromium v57.
The current stable chromium version is v62.
It would be great if newer versions could be published (separately from if a certain version is already integrated in cefsharp?)
I would have also expected the v59 (3071) to have been published already since the cefsharp master refers to it?
I can help if needed
Hi Where can I download the correct version of ffmpegsumo.dll?
Given that the official binaries cover all platforms that .NET Core/5 can run on, would it be feasible/worth it to package the others too?
I may be able to help if that's something the project owner(s) might consider useful.
Thanks!
Performing a package restore using 92.0.25, and building results in
fatal error C1083: Cannot open include file: 'cef_library_loader.h': No such file or directory
The file does not appear to be in .\packages\cef.sdk.92.0.25\CEF\include\wrapper. It does appear to have been in master since last year. The other headers are in the wrapper folder, why not this one? Thank you.
The file is messed up right now, with mixed tabs and spaces.
Bonus points to the one who have a chance to fix this! ๐
We should also use either 2 or 4 spaces consistently. I suggest 4, in line with how we already write C# code and it's also somewhat easier to parse (IMHO.)
CEF issue 2169 has been resolved, this means build.ps1
can use the Minimal Distribution
instead of the Standard Distribution
to speed up the download, and as a result, total build time.
https://bitbucket.org/chromiumembedded/cef/issues/2169/support-building-just-libcef_dll_wrapper
Hi, I'm not sure if this is a bug or I'm missing something, but ...
I've already downloaded the packages from Spotify builds here.
PS C:\cef-binary-master> .\build.ps1 -NoDebugBuild
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Scanning the drive for archives:
1 file, 191131077 bytes (183 MiB)
Extracting archive: C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows32.tar.bz2
--
Path = C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows32.tar.bz2
Type = bzip2
Everything is Ok
Size: 620738560
Compressed: 191131077
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Scanning the drive for archives:
1 file, 620738560 bytes (592 MiB)
Extracting archive: C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows32.tar
--
Path = C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows32.tar
Type = tar
Physical Size = 620738560
Headers Size = 885248
Code Page = UTF-8
Everything is Ok
Folders: 52
Files: 936
Size: 619619788
Compressed: 620738560
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Scanning the drive for archives:
1 file, 203964108 bytes (195 MiB)
Extracting archive: C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows64.tar.bz2
--
Path = C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows64.tar.bz2
Type = bzip2
Everything is Ok
Size: 674467840
Compressed: 203964108
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Scanning the drive for archives:
1 file, 674467840 bytes (644 MiB)
Extracting archive: C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows64.tar
--
Path = C:\cef-binary-master\cef_binary_77.1.11+g1687a63+chromium-77.0.3865.90_windows64.tar
Type = tar
Physical Size = 674467840
Headers Size = 885760
Code Page = UTF-8
Everything is Ok
Folders: 52
Files: 936
Size: 673348740
Compressed: 674467840
Bootstrapping
Starting to build targeting toolchain v141
Targeting v141 using configuration Release on platform x86
VSWhere path C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe
2017InstallPath: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise
True
stdout: Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
MSBUILD : error MSB1009: Project file does not exist.
Switch: C:\cef-binary-master\cef_binary_3.y.z_windows32\libcef_dll_wrapper\libcef_dll_wrapper.vcxproj
stderr:
Caught an exception: Build failed
Exception Type: Microsoft.PowerShell.Commands.WriteErrorException
Stack Trace: at Die, C:\cef-binary-master\build.ps1: line 137
at Msvs, C:\cef-binary-master\build.ps1: line 409
at VSX, C:\cef-binary-master\build.ps1: line 429
at <ScriptBlock>, C:\cef-binary-master\build.ps1: line 769
at <ScriptBlock>, <No file>: line 1
Die : Build failed
At C:\cef-binary-master\build.ps1:409 char:4
+ Die "Build failed"
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Die
Thanks for the help.
Copied over to a new issue here from #4 (comment):
I think this one is actually quite hard. It's not that easy, not at all. Ideally, I would want it to work like this (and no, this is NOT a short-term goal):
LoadLibrary
or similar).The user (of CefSharp) would then not have to care about what bitness they are using. CefSharp would just be smart enough to load the right (unmanaged) binaries as needed.
Wouldn't that be quite cool? If you agree, make this an issue on the CefSharp repo please, and we can then plan it for some future release. It's definitely doable.
So, whatever steps we take here should preferably align with that future roadmap, if possible. I guess that means one single package, or CefSharp depending on both the x86
and x64
packages. But hey - should we perhaps take it even one step further and split depending on VS version...? I mean, to have cef.sdk.vs2010.x86
, cef.sdk.vs2013.x64
and so forth? It gives us a lot of packages, but the individual packages becomes much more manageable. It also has the advantage of people like you and @brock8503 being able to contribute/build a package for your specific VS version, and I can then add the VS2010 and VS2012 bits... for example.
Food for thought. What do you think? The difficulty then would just be of course to make the CefSharp dependencies be correct...
I've pushed NuGet pkgs to MyGet for 2272.25 (.25 is a bitbucket GIT only build number after the move away from Google code).
Fyi,
Bill
New build host at http://opensource.spotify.com/cefbuilds/index.html
Has a json
version that can be parsed and automatically downloaded using http://opensource.spotify.com/cefbuilds/index.json
Will only build of release branches, so should be able to grab the latest builds and just produces the nuget packages from that.
Hi,
I'm interested in updating CEF nuget package to version 62, I did some changes and tried to push here but it says I don't have enough permissions, am I missing something?
https://github.com/cefsharp/cef-binary/blob/master/NuGet/chromiumembeddedframework.runtime.json
Version number needs to be updated to match the package version.
The goal of this is to include support for Linux and Mac now that .net core run in there, we can use GTK as a UI Framework for now.
Is it intended that while adding the cefsharp both the versions got created. and it can be visible in the output folder also. These files are making the release folder little heavy.
What version of the product are you using?
What architecture x86 or x64?
x86 & x64
On what operating system?
Win10
Are you using WinForms
, WPF
or OffScreen
?
WinForms
What steps will reproduce the problem?
What is the expected output? What do you see instead?
The README.txt file in the build output is provided by the cef.redist packages. The license section states The CEF project is BSD licensed. Please read the LICENSE.txt file included with this binary distribution for licensing terms and conditions.
There is not LICENSE.txt provided in the nuget packages nor in the build output with CefSharp and Chromium binaries.
CefSharp nuget packages should include the LICENSE.txt file so it can be distributed with binaries.
Since CEF issue 2291 was resolved we need to include the swiftshader
folder to allow software rendered WebGL to work.
After finally managing to build my own CEF packages, I wanted to have CEF nuget packages.
Unfortunately:
$ powershell .\build.ps1 nupkg-only
Building nuget package
Attempting to build package from 'cef.redist.nuspec'.
Successfully created package 'nuget\cef.redist.x86.3.2987.1601.nupkg'.
Attempting to build package from 'cef.redist.nuspec'.
Successfully created package 'nuget\cef.redist.x64.3.2987.1601.nupkg'.
Attempting to build package from 'cef.sdk.nuspec'.
Could not find a part of the path 'J:\cef-binary\CEF'.
If I create an empty directory CEF
of a junctions pointing to a cef
directory within my cef/chromium checkouts, building packages here works, but building CefSharp
with them fails.
What should CEF
be?
The tar.bz2
files have a sha1
hash that we should calculate and compare against to validate the files were downloaded successfully and abort the build if failure.
The sha1
hash can be obtained from the same json file we get the urls from (http://opensource.spotify.com/cefbuilds/index.json)
As @JanEggers pointed out in cefsharp/CefSharp#301 (comment)
When this is in the NuGet we can remove disable of the warning over in CefSharp
again.
Alternatively - http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-symbol-package looks like an even "more proper" solution. I haven't sunk my teeth into that yet though ...
Error Observed:
Unable to resolve dependencies. 'cef.redist.x64 3.3239.1716' is not compatible with 'CefSharp.Common 57.0.0 constraint: cef.redist.x64 (= 3.2987.1601)'.
There is no newer version of CefSharp.Common available on Nuget.
Did someone update these packages but forget to update CefSharp.Common nuget package as well?
Same issue with cef.redist.x86
Why is NuGet showing me that the redist binaries can be upgraded to 3.3497.1841
from 3.3396.1786
for CefSharp v67.0.0
?
This is on a brand new WinForms project where I just chose to install the latest CefSharp.WinForms
. If I try to upgrade them, it errors out and tells me they are incompatible.
Is something wrong with the NuGet packages? What cef-binary version should I be using for v67.0.0
?
https://github.com/cefsharp/cef-binary/blob/master/NuGet/cef.redist.nuspec#L18
CEF is removing from distribution.
I have a proposal at https://github.com/jornh/cef-binary
It also links to where the original/official cef_binary_3.y.z_windows{32, 64}.zip
files are sourced from. This way the real CEF project is only 2 clicks away from the NuGet package web pages
CEF
added support for specifying MD
as part of the cmake
generation process. See https://bitbucket.org/chromiumembedded/cef/pull-requests/149/add-new-option-cef_runtime_library_flag for details.
We can remove the hack of manually editing the files now.
We should look into changing this setting, so that we build on all PRs. This helps us verify changes in build.ps1
more easily.
The easiest way to fix this from what I can tell would be to tweak this part to set the NuGet package version like this, unless $env:APPVEYOR_REPO_TAG -eq "True"
(In other words, we will get junk version numbers like 62.0.0-CI34 until we tag the repo; for these builds, we will set the NuGet package version to match the tag just like we've done historically.)
Anyone wants to fix this - feel free, it's up for grabs.
Add the Readme.txt
file that comes with the Standard Distribution
.
Include the props files in the buildTransitive
folder so they're usable by consuming projects
I've finally managed to build CEF
for x86
and x64
with proprietary codec support - working from v43 branch.
When trying to build the NuGet packages, things don't go as planned.
When executing build.ps1
with parameter vs2013
, the first few lines shown on console are
Bootstrapping
Starting to build targeting toolchain v120
Targeting v120 using configuration Debug on platform x86
J:\cefsource\cef-binary>"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\..\..\vc\vcvarsall.bat" x86 && set 1>"C:\Users\rbauer\AppData\Local\Temp\tmp8144.tmp"
The input line is too long.
The syntax of the command is incorrect.
This is followed soon after by a warning:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(388,5): warning MSB8028: The intermediate directory (libcef_dll_wrapper.dir\Debug\) contains files shared from anothe
r project (libcef_dll_wrapper.vcxproj). This can lead to incorrect clean and rebuild behavior. [J:\cefsource\cef-binary\cef_binary_3.y.z_windows32\libcef_dll\libcef_dll_wrapper.vcxproj]
The build seems to succeed, but not without more warnings:
cef_string16.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [J:\cefsource\cef
-binary\cef_binary_3.y.z_windows32\libcef_dll\libcef_dll_wrapper.vcxproj]
libcef_dll_wrapper.vcxproj -> J:\cefsource\cef-binary\cef_binary_3.y.z_windows32\libcef_dll\Debug\libcef_dll_wrapper.lib
FinalizeBuildStatus:
Deleting file "libcef_dll_wrapper.dir\Debug\libcef_d.2E4F64A9.tlog\unsuccessfulbuild".
Touching "libcef_dll_wrapper.dir\Debug\libcef_d.2E4F64A9.tlog\libcef_dll_wrapper.lastbuildstate".
Done Building Project "J:\cefsource\cef-binary\cef_binary_3.y.z_windows32\libcef_dll\libcef_dll_wrapper.vcxproj" (rebuild target(s)).
Build succeeded.
"J:\cefsource\cef-binary\cef_binary_3.y.z_windows32\libcef_dll\libcef_dll_wrapper.vcxproj" (rebuild target) (1) ->
(PrepareForBuild target) ->
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(388,5): warning MSB8028: The intermediate directory (libcef_dll_wrapper.dir\Debug\) contains files shared from anot
her project (libcef_dll_wrapper.vcxproj). This can lead to incorrect clean and rebuild behavior. [J:\cefsource\cef-binary\cef_binary_3.y.z_windows32\libcef_dll\libcef_dll_wrapper.vcxproj]
"J:\cefsource\cef-binary\cef_binary_3.y.z_windows32\libcef_dll\libcef_dll_wrapper.vcxproj" (rebuild target) (1) ->
(Lib target) ->
cef_string16.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [J:\cefsource\c
ef-binary\cef_binary_3.y.z_windows32\libcef_dll\libcef_dll_wrapper.vcxproj]
2 Warning(s)
0 Error(s)
Time Elapsed 00:00:28.54
Trying to use the resulting packages to compile CefSharp leads to a FileLoadException
in CefExample.Init()
...
Any idea what I'm doing wrong?
Currently build.ps1
expects there to be valid x86/x64/arm64
builds available. When building custom versions you may for example only require x86/x64
.
The complexity will largely be around the chromiumembeddedframework.runtime.nuspec. The locales
and swiftshader
folders will need to be moved into the arch
specific packages (this is preferably anyway). It wasn't clear when using a chromiumembeddedframework.runtime.json file to specify the RID
graph that splitting these was possible. I'm fairly confident that it is now, testing will be required
chromiumembeddedframework.runtime
packages to confirm locales
and swiftshader
folders are copied correctly.I would like to show devtools window in a parent control by giving its window handle.
Builds started failing example is https://ci.appveyor.com/project/cefsharp/cef-binary/build/64.0.0-CI66
The error is generated by cmake
Reverted to using the previous build worker image in commit c510ba2
Looking at https://www.appveyor.com/updates/2018/08/29/ it appears that cmake
was upgraded to 3.12.1
which I suspect as the root cause.
Building locally with 3.12.2
and the build succeeds.
Likely when appveyor
upgrades to a new cmake
version this will be resolved, so waiting appears to be the easier path forward. Will need to revert c510ba2 when the next build image is updated.
Hi.
Is there any reason, that you publish dll's in CEF
folder inside NuGet package?
cef-binary/NuGet/cef.redist.nuspec
Line 18 in e332392
If I'm not wrong, lib
folder is standard for this.
https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#from-a-convention-based-working-directory
Over in the CefSharp repo - in cefsharp/CefSharp#288 (comment) @perlun suggested better automation. I think this belong in this repo - so here's an issue for it, with my comments so far ...
I started looking at creating a Rakefile for this, but it's not done yet. It might be that I won't have time for completing it until next week.
Hey, I thought you said with a Rakefile
it would be a one-liner ... did you stop in the middle of the line ;-)
My idea is to provide vs2010, vs2012 and vs2013 targets, which will then launch the vsvars32.bat file for the proper VS version, and run msbuild. That way, you won't have to start up the right Developer Command Prompt; you can just make all of the targets at once using one single Rake command.
Brilliant thought - I have actually started the same - but in BAT ... eek ... based on https://github.com/coapp-packages/pixman/blob/master/COPKG/build.bat
I know you might not be a big Ruby fan (yet ) but I feel it will be very convenient that way. Yes, people might have to do cinst ruby but that's something that they should be doing anyway... Besides, the number of people hacking on cef-binary is very low anyway so a slightly higher requirement in terms of tooling is quite OK as far as I'm concerned. (AFAIC?)
I'll see if I can get to it before you. cinst'ing
(should be a word!) FTW
From the Google Group:
Voila!!! it works. I had to copy ffmpegsumo.dll,libGLESv2.dll,libEGL.dll files which dint come alone with Nuget. But otherwise its all good. Any date for the stable release? (v3.29)
- show quoted text -
So should we just include all the CEF redist pieces?.... Actually it could be a CEF.redist.redist (redist^2) package ๐ because it's a redist of the bits that upstream CEF is redist'ing
If you want to help with preparing for the CEF 1750 branch the steps are roughly:
libcef_dll_wrapper.lib
files (use build.bat)libcef_dll_wrapper.lib
files to a CEF/ folder structure like the one in the existing cef.sdk
(at least for your VS201x version) ...NuGet/pack.bat
- then adjust version in it.nupkg
filesPM> Update-Package
include/
from cef.sdk
I don't plan on trying to update to 1750 myself until CefSharp 31 is well out the door AND there is an official CEF 1750 release at http://www.magpcss.net/cef_downloads/
I forked CefSharp repo but I can't install cef.sdk.mp4support
to CefSharp.Core
I get error:
Could not install package 'cef.sdk.mp4support 79.0.0'. You are trying to install this package into a project that targets 'native,Version=v0.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
I also tried to build own cef with codecs enabled but it fails all the time with out of memory exception (32GB RAM + 50GB swap)
New version is up on cefbuilds.com
is it worth build a package or waiting until 2062
is officially released?
Repository is unnecessary large to download, would be ideal to remove the old binary files.
Housekeeping for upgrading to 2171.2069
Update build.ps1
to reflect version bump
https://github.com/cefsharp/cef-binary/blob/master/build.ps1#L18
Import latest README.txt
from Cef
https://github.com/cefsharp/cef-binary/blob/master/README.txt
Issue https://bitbucket.org/chromiumembedded/cef/issues/3140/update-include-base-for-c-11-14-features will bring changes that will likely drop support for compiling the wrapper with older VS
versions, this may force us to upgrade to VS2019
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.