-
-
Notifications
You must be signed in to change notification settings - Fork 475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discovery of the "icudtl.dat" file fails on Linux. Merge patch into upstream. #231
Comments
Same error happens with CEF 51 and the message is more descriptive this time. It's definitely an issue with the icudtl.dat file. Reported with details on the CEF Forum: |
It builds fine, but there is an error when running (Issue #231). Use prebuilt binaries from Spotify automated builds. Changes in API that break backward compatibility: * Remove 'accept_lang' arg in JavascriptDialogHandler.OnJavascriptDialog() * Remove LifespanHandler.RunModal() Other changes in API: * Add Browser.TryCloseBrowser()
Temporary fix for the issue:
The pygtk_.py example runs fine with this fix. |
Related code in Chromium that causes issues:
PathService keys like DIR_EXE, DIR_MODULE etc. can be overriden using PathService::Override, see base/path_service.h: CEF already exposes CefGetPath() function to fetch paths using PathKey: Here are the values for some of the path keys when running cefpython:
When changing DIR_EXE we should probably also change DIR_MODULE to the same value. The question is what will be implications of overriding these paths. What would be better? Note also the warning in path_service.h > Override:
So when overriding path it should be done as early as possible. In "chrome/test/base/chrome_test_suite.cc" there is already a case for overrriding DIR_EXE and DIR_MODULE, so it should work fine:
|
Fixed in commit 2e9928d. New issue231 patch added to patches/. |
Merge issue231 patch into upstream to allow for using Spotify binaries with cefpython. Pull request was already created some time ago with a reworked version of the patch that was to be accepted, but there was an issue with unit tests. The patch required another rework. See upstream Pull request #66 and upstream Issue #1936. |
There is still issue with building vcproj files to be resolved. Currently supported on Windows is only Python 2.7 32-bit. Remove patch deps on Windows and Mac platforms to facilitate building (#300, #231, #251). Create tools/build.py and tools/build_module.py (#210). Cleanup in directories due to new build tools. Update tools/automate.py. DragData methods become Linux-only: GetImage(), HasImage(). This functionality will be available on all platforms when patch is merged into upstream (#251).
Alternative pull request for CEF on GitHub: |
Merge patch from chromiumembedded/cef#4 Issue link is cztomczak/cefpython#231
Project: cef dev-3112 48f0926c60c854604d1d5a92ac46d6307514ae37 Remove unused gn argument Merge branch 'dev-3112' of github.com:LiuLang/cef into dev-3112 Support atomic operation on mips64el Add more gn arguments Support overriding paths Merge patch from chromiumembedded/cef#4 Issue link is cztomczak/cefpython#231 Disable kerberos Add more gn options Support IME on linux Added default gn args for linux platform Windows: Fix crash during window creation (see https://crbug.com/761389) Windows: Wait for WM_NCDESTROY before calling OnBeforeClose (issue #2248) Update to Chromium version 60.0.3112.113 Windows: Fix crash during window creation (see https://crbug.com/761389) Windows: Wait for WM_NCDESTROY before calling OnBeforeClose (issue #2248) Support atomic operation on mips64el Add more gn arguments Update to Chromium version 60.0.3112.113 Support overriding paths Merge patch from chromiumembedded/cef#4 Issue link is cztomczak/cefpython#231 Disable kerberos Add more gn options Support IME on linux Added default gn args for linux platform Fix Widevine DRM loading Update to Chromium version 60.0.3112.90 views: Fix LabelButton size calculation Linux: Work around gold linker bug for 32-bit code. Fix encoding of linux_build.patch Fix encoding of linux_build.patch Linux: Fix build error related to GTK dependency version. Update to Chromium version 60.0.3112.78 Linux/Mac: Fix handling of command-line arguments (issue #2208) Windows: Build cef_sandbox.lib with different GN args for official binary distributions (issue #2220) Add support for loading certificate revocation lists (issue #2213) Fix incorrect OSR browser display during navigation (issue #2209) Fix OSR PDF mouse events after keyboard input (issue #2078) Update to Chromium version 60.0.3112.40 Fix OSR PDF mouse wheel scrolling (issue #2078) Windows: cefclient: Fix ATL-related build errors (issue #2200) Linux: Don't pass NULL CefBrowser to PrintHandler::GetPdfPaperSize (issue #2199) Linux: Pass CefBrowser to CefPrintHandler callbacks (issue #2196) Fix gtest path (issue #2188) macOS: Fix error: unknown type name 'size_t' Linux: Update to debian jessie sysroots Linux: Fix error: use of undeclared identifier 'GetPreferredSize' Update to Chromium version 60.0.3112.10
PK_DIR_RESOURCES should not be included in CefOverridePath patch (Issue #231), since there is already a way to set resources dir path using CefSettings.resources_dir_path.
Fixed in upstream in commit https://bitbucket.org/chromiumembedded/cef/commits/602c163 - needs testing. |
Another related commit in upstream: https://bitbucket.org/chromiumembedded/cef/commits/942899d2fc3d Both required commits are available in the latest 3945 branch (v79). This will allow to use Spotify binaries with cefpython on Linux. |
Hi, I'm actually using CEF with C++ and I found this due to my own build error I'm having. How did you end up solving this? |
@IoIxD It was fixed via local patch. Upstream CEF also has this fixed. Make sure icudtl.dat is next to libcef.so. |
I believe I found this out yes. I also decided never to use CEF again, I really hope somebody makes a web browser that works better as a library. |
Tried running pygtk_.py and wxpython.py both fail. Stack trace:
cefclient and cefsimple do run fine however. Looks like it might be an issue with CHECK failing because it can't find the "icudtl.dat" resource. If file "icudtl.dat" is removed then cefclient also fails with the same stack trace.
cefpython logs:
New error message, more descriptive in CEF 51:
The text was updated successfully, but these errors were encountered: