MacOS: 13.4.1 (Ventura)
XCode: 14.0
Building is successful, but the `make_distrib` script fails on `get_exported_symbols` with `Opaque pointers are only supported in -opaque-pointers mode (Producer: 'LLVM17.0.0git' Reader: 'LLVM APPLE_1_1400.0.29.102_0')`
Steps:
1. Run `automate-git.py`
- Code: Select all
#!/bin/bash
#ProdSettings
export GN_DEFINES='proprietary_codecs=true ffmpeg_branding="Chrome" is_official_build=true'
export GN_ARGUMENTS='--ide=vs2019 --sln=cef --filters=//cef/*'
python ../automate/automate-git.py --download-dir=${HOME}/code/chromium_git --depot-tools-dir=${HOME}/code/depot_tools --no-distrib --no-build --with-pgo-profiles --branch=5672 --force-config --force-clean --x64-build
2.Update gclient vars to checkout pgo profiles:
- edit `~/code/chromium_git/chromium/.gclient`, and modify custom_vars:
- Code: Select all
...
"custom_vars": {
"checkout_pgo_profiles": True,
},
...
3. Run hooks to checkout pgo profiles: `gclient runhooks`
4. Create projects from `code/chromium_git/chromium/src/cef/`:
- Code: Select all
export GN_DEFINES="proprietary_codecs=true ffmpeg_branding="Chrome" is_official_build=true"
./cef_create_projects.sh
5. Build release:
- Code: Select all
cd ~/code/chromium_git/chromium/src
ninja -C out/Release_GN_x64 cef
6. Make distribution (THIS FAILS):
- Code: Select all
cd /path/to/chromium/src/cef/tools
export CEF_ARCHIVE_FORMAT=tar.bz2
./make_distrib.sh --ninja-build --x64-build
Output is as follows:
- Code: Select all
/Users/embucksh/code/chromium_git/chromium/src/cef/include/wrapper/cef_closure_task.h:55: warning: explicit link request to 'include' could not be resolved
/Users/embucksh/code/chromium_git/chromium/src/cef/include/wrapper/cef_closure_task.h:56: warning: explicit link request to 'include' could not be resolved
/Users/embucksh/code/chromium_git/chromium/src/cef/include/wrapper/cef_library_loader.h:68: warning: explicit link request to 'include' could not be resolved
/Users/embucksh/code/chromium_git/chromium/src/cef/include/wrapper/cef_library_loader.h:83: warning: explicit link request to 'include' could not be resolved
/Users/embucksh/code/chromium_git/chromium/src/cef/include/wrapper/cef_library_loader.h:84: warning: explicit link request to 'include' could not be resolved
/Users/embucksh/code/chromium_git/chromium/src/cef/include/base/cef_callback_helpers.h:98: warning: Unsupported xml/html tag <typename> found
Creating /Users/embucksh/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_113.3.5+g0b33855+chromium-113.0.5672.129_docs directory.
Removing /Users/embucksh/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_113.3.5+g0b33855+chromium-113.0.5672.129_docs directory.
Transferring /Users/embucksh/code/chromium_git/chromium/src/cef/docs directory.
Creating /Users/embucksh/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_113.3.5+g0b33855+chromium-113.0.5672.129_macosx64/Debug directory.
Finding exported symbols...
Traceback (most recent call last):
File "make_distrib.py", line 1071, in <module>
os.path.join(dst_dir, 'cef_sandbox.a'))
File "make_distrib.py", line 383, in combine_libs
for symbol in get_exported_symbols(os.path.join(build_dir, libs[0])):
File "make_distrib.py", line 337, in get_exported_symbols
raise Exception('ERROR: nm failed: %s' % result['err'])
Exception: ERROR: nm failed: /Users/embucksh/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: /Users/embucksh/code/chromium_git/chromium/src/out/Debug_GN_x64/obj/cef/libcef_sandbox.a(sandbox_mac.o): Opaque pointers are only supported in -opaque-pointers mode (Producer: 'LLVM17.0.0git' Reader: 'LLVM APPLE_1_1400.0.29.102_0')
Questions
1. Is this a bug?
2. Would building with `-opaque-pointers` be a viable solution? And, if so;
3. How can we pass additional `cflags` to GN when running `create_projects.sh`? (if that is indeed the resolution)
Thanks!