Issue metadata
Sign in to add a comment
|
DesktopCaptureOptions Link Time Symbol Error (w/o WebRTC)
Reported by
robrich...@gmail.com,
Aug 11 2017
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3180.0 Safari/537.36 Steps to reproduce the problem: 1. Build recent to current Chromium (i.e. 62.0.3183.0 493664) with WebRTC disabled 2. Link error when linking chrome.dll What is the expected behavior? Build Chromium without errors when WebRTC is disabled. What went wrong? Link error due to missing symbol. Did this work before? Yes Previous local build using 62.0.3180.0 492717 built with WebRTC disabled. Chrome version: 62.0.3183.0 Channel: dev OS Version: 10.0 Flash Version: Build argument 'enable_webrtc = false' results in a link error due to an undefined symbol. Testing using 64-bit build. Affects VS2017 and LLD. Build output of both linkers: FAILED: chrome.dll chrome.dll.lib C:/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /IMPLIB:./chrome.dll.lib /DLL /OUT:./chrome.dll /PDB:./chrome.dll.pdb @./chrome.dll.rsp extensions.lib(desktop_capture_base.obj) : error LNK2001: unresolved external symbol "class webrtc::DesktopCaptureOptions __cdecl content::CreateDesktopCaptureOptions(void)" (?CreateDesktopCaptureOptions@content@@YA?AVDesktopCaptureOptions@webrtc@@XZ) ./chrome.dll : fatal error LNK1120: 1 unresolved externals FAILED: chrome.dll chrome.dll.lib C:/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False ../../third_party/llvm-build/llvm-external/bin/lld-link.exe /nologo /IMPLIB:./chrome.dll.lib /DLL /OUT:./chrome.dll /PDB:./chrome.dll.pdb @./chrome.dll.rsp ..\..\third_party\llvm-build\llvm-external\bin\lld-link.exe: warning: extensions.lib(desktop_capture_base.obj): undefined symbol: ?CreateDesktopCaptureOptions@content@@YA?AVDesktopCaptureOptions@webrtc@@XZ error: link failed Reverting.... https://codereview.chromium.org/2961193002/patch/180001/190001 ....was my quick fix to proceed with my local WebRTC-disabled build.
,
Aug 28 2017
Quick followup. Commit 56efe642b5d1fc400ac7f34451d9a540f9d30fbb confirmed as source of issue here. https://chromium.googlesource.com/chromium/src/+/56efe642b5d1fc400ac7f34451d9a540f9d30fbb Pulled LKCR from today, reverted the above commit, and successfully built CrWinClangLLD64 with WebRTC disabled.
,
Dec 30 2017
if you revert this gn chnages (skip build.gn changes) it works?
,
Jan 2 2018
It is a little more involved these days. I skip the reverts and go straight to the code now.
For a Windows build without WebRTC, try the following modifications.
C:\depot_tools\chromium\src\chrome\browser\extensions\api\desktop_capture\desktop_capture_base.cc
Comment out these lines:
// screen_list = base::MakeUnique<NativeDesktopMediaList>(
// content::DesktopMediaID::TYPE_SCREEN,
// webrtc::DesktopCapturer::CreateScreenCapturer(
// content::CreateDesktopCaptureOptions()));
// window_list = base::MakeUnique<NativeDesktopMediaList>(
// content::DesktopMediaID::TYPE_WINDOW,
// webrtc::DesktopCapturer::CreateWindowCapturer(
// content::CreateDesktopCaptureOptions()));
C:\depot_tools\chromium\src\content\renderer\pepper\pepper_media_device_manager.cc
Comment out AddStream in line 239:
GetMediaStreamDeviceObserver()/*->AddStream(label, device)*/;
C:\depot_tools\chromium\src\chrome\browser\BUILD.gn
Add the following back to the dependencies block starting around line 1576:
"//third_party/webrtc/modules/desktop_capture",
"//third_party/webrtc_overrides",
"//third_party/webrtc_overrides:init_webrtc",
,
Feb 11 2018
,
Mar 9 2018
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by jmukthavaram@chromium.org
, Aug 14 2017