Describe the bug
When doing an automatic CEF build on current master (bc1b856b96067c59fa51bc3498b2a6597dc4af44) for macOS, building the sandbox target will fail because the generated cef_config.h header cannot be found:
In file included from ../../cef/libcef_dll/sandbox/sandbox_mac.mm:10:
In file included from ../../cef/include/cef_sandbox_mac.h:34:
../../cef/include/base/cef_build.h:92:10: fatal error: 'include/cef_config.h' file not found
92 | #include "include/cef_config.h"
| ^~~~~~~~~~~~~~~~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/Users/***/GitHub/CEF_arm64/./automate-git.py", line 1389, in <module>
run(command + build_path + ' cef_sandbox', chromium_src_dir, depot_tools_dir,
File "/Users/***/GitHub/CEF_arm64/./automate-git.py", line 66, in run
return subprocess.check_call(
^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', 'out/Release_GN_arm64_sandbox', 'cef_sandbox']' returned non-zero exit status 1.
This error happens with "native" builds (building for Apple Silicon on an Apple Silicon host) as well as cross-compilation builds (building for Intel on an Apple Silicon host).
Adding include_dirs = [ "." ] to line 1334 in CEF's BUILD.gn file fixes the issue (which is peculiar as I would expect that configs += [ ":libcef_includes_config" ] should pull in the current working directory as an include path already).
To Reproduce
Be on macOS 14.5 with Xcode 15.4
Have no current checkout of any source (neither Chromium nor CEF)
Download automate.git via curl -O https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py
Export CEF_ARCHIVE_FORMAT=tar.bz2 and GN_DEFINES="cc_wrapper=ccache ffmpeg_branding=Chrome is_debug=false is_official_build=true symbol_level=0"
Observe the Release target for CEF completing successfully
Observe the Release target of the static sandbox library failing with error quoted above
Steps to reproduce the behavior:
Expected behavior
Expected behaviour is for CEF to finish building all required Release components (based on the automate-git arguments) and the minimal distribution being created in ${PWD}/chromium_git/chromium/src/cef/binary_distrib.
Versions (please complete the following information):
OS: macOS 14.5 with Xcode 15.4
CEF Version: master (125.0.6422.0)
Additional context
As I was able to successfully build CEF for Intel and Apple Silicon successfully only a few weeks ago I tried to find a possible point after which it "broke", which seems to be the changes introduced by this commit: b92749a58af274d27e46ed41a62774d495db90cd
I did multiple runs (which took a few days) forcing cleans, forcing configurations, deleting only the CEF checkout (so that CEF would be fetched again), deleting everything and starting fresh (as per the reproduction steps) and it always failed at this single step.
Describe the bug When doing an automatic CEF build on current master (bc1b856b96067c59fa51bc3498b2a6597dc4af44) for macOS, building the sandbox target will fail because the generated
cef_config.h
header cannot be found:This error happens with "native" builds (building for Apple Silicon on an Apple Silicon host) as well as cross-compilation builds (building for Intel on an Apple Silicon host).
Adding
include_dirs = [ "." ]
to line 1334 in CEF'sBUILD.gn
file fixes the issue (which is peculiar as I would expect thatconfigs += [ ":libcef_includes_config" ]
should pull in the current working directory as an include path already).To Reproduce
automate.git
viacurl -O https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py
CEF_ARCHIVE_FORMAT=tar.bz2
andGN_DEFINES="cc_wrapper=ccache ffmpeg_branding=Chrome is_debug=false is_official_build=true symbol_level=0"
python3 ./automate-git.py --download-dir=${PWD}/chromium_git --minimal-distrib-only --with-pgo-profiles --no-debug-build --arm64-build --url=https://github.com/chromiumembedded/cef --force-config --force-clean
Expected behavior Expected behaviour is for CEF to finish building all required Release components (based on the
automate-git
arguments) and the minimal distribution being created in${PWD}/chromium_git/chromium/src/cef/binary_distrib
.Versions (please complete the following information):
Additional context As I was able to successfully build CEF for Intel and Apple Silicon successfully only a few weeks ago I tried to find a possible point after which it "broke", which seems to be the changes introduced by this commit: b92749a58af274d27e46ed41a62774d495db90cd
I did multiple runs (which took a few days) forcing cleans, forcing configurations, deleting only the CEF checkout (so that CEF would be fetched again), deleting everything and starting fresh (as per the reproduction steps) and it always failed at this single step.