Mac CEF 5005 Linking Issue

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Mac CEF 5005 Linking Issue

Postby leeroy » Thu May 05, 2022 5:41 pm

CEF branch: 5005
X64 Build using automate-git.py
Recently upgraded to Xcode 13.3.1 - Build version 13E500a

Error code is as follows:
Code: Select all
[30025/51887] SOLINK libVkLayer_khronos_validation.dylib libVkLayer_khronos_validation.dylib.TOC libVkLayer_khronos_validation.dylib.dSYM/Contents/Info.plis
libVkLayer_khronos_validation.dylib.dSYM/Contents/Resources/DWARF/libVkLayer_khronos_validation.dylib
FAILED: libVkLayer_khronos_validation.dylib libVkLayer_khronos_validation.dylib.TOC libVkLayer_khronos_validation.dylib.dSYM/Contents/Info.plist libVkLayer_khronos_validation.dylib.dSYM/Contents/Resources/DWARF/libVkLayer_khronos_validation.dylib
if [ ! -e "./libVkLayer_khronos_validation.dylib" -o ! -e "./libVkLayer_khronos_validation.dylib.TOC" ] || /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l "./libVkLayer_khronos_validation.dylib" | grep -q LC_REEXPORT_DYLIB ; then TOOL_VERSION=1651784820 ../../build/toolchain/apple/linker_driver.py -Wcrl,strippath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -Wcrl,installnametoolpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared  -Wcrl,dsym,. -Wcrl,dsymutilpath,../../tools/clang/dsymutil/bin/dsymutil -fuse-ld=lld -Wl,-fatal_warnings -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -flto=thin -Wl,--thinlto-jobs=all -Wl,-cache_path_lto,thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -Wl,-mllvm,-import-instr-limit=5 -fwhole-program-vtables -arch x86_64 -no-canonical-prefixes -Wl,-dead_strip -Wl,-no_data_in_code_info -Wl,-no_function_starts -nostdlib++ -isysroot ../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacosx-version-min=10.11.0 -Wl,--lto-O0 -Wl,-ObjC -Wcrl,strip,-x,-S -Werror -o "./libVkLayer_khronos_validation.dylib" "@./libVkLayer_khronos_validation.dylib.rsp" && { /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l "./libVkLayer_khronos_validation.dylib" | grep LC_ID_DYLIB -A 5; /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm -gPp "./libVkLayer_khronos_validation.dylib" | cut -f1-2 -d' ' | grep -v U$$; true; } > "./libVkLayer_khronos_validation.dylib.TOC"; else TOOL_VERSION=1651784820 ../../build/toolchain/apple/linker_driver.py -Wcrl,strippath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -Wcrl,installnametoolpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared  -Wcrl,dsym,. -Wcrl,dsymutilpath,../../tools/clang/dsymutil/bin/dsymutil -fuse-ld=lld -Wl,-fatal_warnings -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -flto=thin -Wl,--thinlto-jobs=all -Wl,-cache_path_lto,thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -Wl,-mllvm,-import-instr-limit=5 -fwhole-program-vtables -arch x86_64 -no-canonical-prefixes -Wl,-dead_strip -Wl,-no_data_in_code_info -Wl,-no_function_starts -nostdlib++ -isysroot ../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacosx-version-min=10.11.0 -Wl,--lto-O0 -Wl,-ObjC -Wcrl,strip,-x,-S -Werror -o "./libVkLayer_khronos_validation.dylib" "@./libVkLayer_khronos_validation.dylib.rsp" && { /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l "./libVkLayer_khronos_validation.dylib" | grep LC_ID_DYLIB -A 5; /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm -gPp "./libVkLayer_khronos_validation.dylib" | cut -f1-2 -d' ' | grep -v U$$; true; } > "./libVkLayer_khronos_validation.dylib.tmp" && if ! cmp -s "./libVkLayer_khronos_validation.dylib.tmp" "./libVkLayer_khronos_validation.dylib.TOC"; then mv "./libVkLayer_khronos_validation.dylib.tmp" "./libVkLayer_khronos_validation.dylib.TOC" ; fi; fi
PLEASE submit a bug report to https://crbug.com and run tools/clang/scripts/process_crashreports.py (only works inside Google) which will upload a report and include the crash backtrace.
Stack dump:
0.   Running pass 'Function Pass Manager' on module 'obj/third_party/vulkan-deps/vulkan-validation-layers/src/VkLayer_khronos_validation/drawdispatch.o'.
1.   Running pass 'Debug Variable Analysis' on function '@_ZNK10CoreChecks29PreCallValidateCmdTraceRaysNVEP17VkCommandBuffer_TP10VkBuffer_TyS3_yyS3_yyS3_yyjjj'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
LLVM ERROR: Failed to rename temporary file thinlto-cache/Thin-f3cbf9.tmp.o to thinlto-cache/llvmcache-A534D666F23D59F0FF4E4E3817ECE864AD8E4389: No such file or directory

0  lld                      0x000000010cdde1e8 llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::printOptionValue(unsigned long, bool) const + 416600
1  lld                      0x000000010cdde5c4 llvm::cl::opt<bool, false, llvm::cl::parser<bool> >::printOptionValue(unsigned long, bool) const + 417588
2  libsystem_platform.dylib 0x00007ff805208e2d _sigtramp + 29
3  libsystem_malloc.dylib   0x00007ff80500f639 nanov2_allocate + 130
4  libsystem_c.dylib        0x00007ff80513fd10 abort + 123
5  libsystem_malloc.dylib   0x00007ff80501d3e2 has_default_zone0 + 0
clang++: error: unable to execute command: Abort trap: 6
clang++: error: linker command failed due to signal (use -v to see invocation)
Traceback (most recent call last):
  File "../../build/toolchain/apple/linker_driver.py", line 337, in <module>
    LinkerDriver(sys.argv).run()
  File "../../build/toolchain/apple/linker_driver.py", line 128, in run
    subprocess.check_call(compiler_driver_args, env=env)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../../third_party/llvm-build/Release+Asserts/bin/clang++', '-shared', '-fuse-ld=lld', '-Wl,-fatal_warnings', '-Wl,--icf=all', '-Wl,--color-diagnostics', '-Wl,-mllvm,-instcombine-lower-dbg-declare=0', '-flto=thin', '-Wl,--thinlto-jobs=all', '-Wl,-cache_path_lto,thinlto-cache', '-Wl,--thinlto-cache-policy=cache_size=10%:cache_size_bytes=40g:cache_size_files=100000', '-Wl,-mllvm,-import-instr-limit=5', '-fwhole-program-vtables', '-arch', 'x86_64', '-no-canonical-prefixes', '-Wl,-dead_strip', '-Wl,-no_data_in_code_info', '-Wl,-no_function_starts', '-nostdlib++', '-isysroot', '../../../../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk', '-mmacosx-version-min=10.11.0', '-Wl,--lto-O0', '-Wl,-ObjC', '-Werror', '-o', './libVkLayer_khronos_validation.dylib', '@./libVkLayer_khronos_validation.dylib.rsp']' returned non-zero exit status 254.
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: Mac CEF 5005 Linking Issue

Postby leeroy » Thu May 05, 2022 10:22 pm

I ended up setting the GN option `use_thin_lto=false` to work around it. I'm not entirely sure how this impacts the final product on mac.
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: Mac CEF 5005 Linking Issue

Postby leeroy » Thu Jan 12, 2023 11:31 pm

It looks like this is remedied in 5414. In fact, Thin LTO can be dropped and needs to be dropped else the application (cefclient) crashes on launch.
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm

Re: Mac CEF 5005 Linking Issue

Postby magreenblatt » Fri Jan 13, 2023 11:30 am

If you’re making official builds it’s best to follow the recommended configuration: https://bitbucket.org/chromiumembedded/ ... figuration
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Mac CEF 5005 Linking Issue

Postby leeroy » Sun Jan 15, 2023 12:27 am

I agree and normally we do. Not sure why this was necessary for us previously, but the recommended config is all good now.
leeroy
Expert
 
Posts: 103
Joined: Mon Jan 06, 2020 6:27 pm


Return to Support Forum

Who is online

Users browsing this forum: Google [Bot] and 206 guests