build cefpython v66 upstream on windows failed

83 views
Skip to first unread message

Luc Hermans

unread,
May 28, 2018, 3:08:31 AM5/28/18
to CEF Python

Trying to build cefpython v66 upstream on windows

using spotify build cef_binary_3.3359.1774.gd49d25f_windows32.tar.bz2
copied src\version\cef_version_linux.h to mac.h and win.h

python ../tools/automate.py --prebuilt-cef

returns warning/error (part of console output)

[182/323] Linking CXX static library 
libcef_dll_wrapper\libcef_dll_wrapper.lib
cef_lock.cc.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

[166/166] Linking CXX static library 
libcef_dll_wrapper\libcef_dll_wrapper.lib
cef_string16.cc.obj : warning LNK4221: no public symbols found; archive 
member will be inaccessible
cef_lock.cc.obj : warning LNK4221: no public symbols found; archive member 
will be inaccessible

File "../tools/automate.py", line 507, in build_wrapper_library_windows
fix_cmake_variables_for_MD_library()
File "../tools/automate.py", line 606, in fix_cmake_variables_for_MD_library
assert count == 2

AssertionError

full console output attached 



console.txt

Czarek Tomczak

unread,
May 28, 2018, 3:46:25 AM5/28/18
to CEF Python
Currently only Linux builds of v66 were tested and do work fine. You will have to wait a few more days for Windows.

Czarek Tomczak

unread,
May 29, 2018, 7:19:38 AM5/29/18
to CEF Python
Current master builds and runs fine on Windows. The v66-upstream release was updated with Windows 32-bit prebuilt binaries.

I couldn't reproduce your issue, there might be something wrong with your environment.


On Monday, May 28, 2018 at 7:08:31 AM UTC, Luc Hermans wrote:

Luc Hermans

unread,
May 29, 2018, 8:59:41 AM5/29/18
to CEF Python
I just tried to rebuild from spotify but got the same error.
in the source  code I don't find any difference compared to 2 days ago
also the src/version/cef_version_win.h still contains the old #define CEF_VERSION "3.3029.1604.g364cd86"

My build platform is Win 10  64 bit using python 2.7.11


error_build_from_cef66_3.3359.1774.gd49d25f_win32.zip

Luc Hermans

unread,
May 29, 2018, 11:28:45 AM5/29/18
to CEF Python
I used the zip / tag.tz on https://github.com/cztomczak/cefpython/releases/tag/v66-upstream
Which was not updated, I will re-build using your recent update on GIT https://github.com/cztomczak/cefpython.git
and let you know the result.

Luc Hermans

unread,
May 30, 2018, 1:47:54 AM5/30/18
to CEF Python
rebuild using git master and spotify cef_binary_3.3359.1774.gd49d25f_windows32.tar.bz2
python ../tools/automate.py --prebuilt-cef seems to build ok
however
python ../tools/build.py 66.0
failed with
Exception: Windows SDK Lib directory not found: C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib
[build.py] Cleanup: remove pyx files in build_cefpython/
[build.py] ERROR: failed to build the cefpython module

my windows SDKs v71.A is in c:\Program Files (x86)\Microsoft SDKs\Windows

any suggestion to fix my environment?
Attached build_error.zip complete console output (see at the end)


build_error.zip

Czarek Tomczak

unread,
May 30, 2018, 2:30:40 AM5/30/18
to CEF Python
Follow the build instructions document - requirements. You need either SDK 7.0 or 7.1. You have 7.1A which is different. See https://wiki.python.org/moin/WindowsCompilers

Luc Hermans

unread,
May 30, 2018, 3:33:09 AM5/30/18
to CEF Python
many thanks,
After 'Microsoft Visual C++ 10.0 standalone: Windows SDK 7.1 (x86, x64, ia64)' instructions build succeeded.
Also python ../tools/make_installer.py xx.xx --wheel --universal succeeded
however this contains a python 2.7 only
Any instructions how to create a cefpython_py36.pyd?

Czarek Tomczak

unread,
May 30, 2018, 3:39:44 AM5/30/18
to CEF Python
You have to run the build.py script with Python 2.7, then run that same script using Python 3.6. After that run the make-installer.py script and it should include both modules.

Luc Hermans

unread,
May 30, 2018, 4:08:58 AM5/30/18
to CEF Python
building cefpython3-66.0-py2.py3-none-win32.whl  succeeded ;)
One more question.
I've already rebuild chromiumembedded https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md using build=true proprietary_codecs

How to implement these in the cefpython?
Can  I just copy dll files?




Czarek Tomczak

unread,
May 30, 2018, 4:15:07 AM5/30/18
to CEF Python
CEF master branch is not supported, it would likely require modifications to cefpython source codes (which might not be easy).

Luc Hermans

unread,
May 30, 2018, 5:39:27 AM5/30/18
to CEF Python
I did build using --branch=3359

Czarek Tomczak

unread,
May 30, 2018, 5:44:22 AM5/30/18
to CEF Python
Find the chromium/src/cef/cef_binary_*/ directory or archive that was created during build. This is the same binary as from the Spotify builds, so the same instructions apply.

On Wednesday, May 30, 2018 at 9:39:27 AM UTC, Luc Hermans wrote:
I did build using --branch=3359

Czarek Tomczak

unread,
May 30, 2018, 5:46:35 AM5/30/18
to CEF Python
It's best to build CEF from sources with cefpython's automate.py tool, as it defines some flags and on Linux applies special patch. However on Windows, I think it should work fine if you followed upstream CEF build instructions.

Luc Hermans

unread,
May 30, 2018, 7:54:10 AM5/30/18
to CEF Python
If have copied my compiled   dll, dat, bin, pak and locales and swiftshader\*.dll  to build\cef66_3.3359.1774.gd49d25f_win32\bin\
then build again using python ../tools/build.py 66.0
seem to work all fine (except tkinker_.py does hangs when closing in python 2.7, works in 3.6)
mp4 working

Many thanks,
Luc

Czarek Tomczak

unread,
May 30, 2018, 8:19:37 AM5/30/18
to CEF Python
You shouldn't be copying any files manually, instructions are clear.

Luc Hermans

unread,
May 30, 2018, 8:47:03 AM5/30/18
to CEF Python
OK I will try the  cefpython's automate.py tool.
Reply all
Reply to author
Forward
0 new messages