New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 772668 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Error building/linking chromium on windows: unresolved external symbol public: __cdecl headless::HeadlessWebContents::Builder::~Builder(void)

Reported by davec.b...@gmail.com, Oct 7 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Steps to reproduce the problem:
1. Pull chromium release 61.0.3163.100 source from git
2. Compile on windows 7
3. 

What is the expected behavior?
Successful build

What went wrong?
[27170/27176] LINK(DLL) chrome.dll chrome.dll.lib
FAILED: chrome.dll chrome.dll.lib
C:/Users/dave/src/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
headless_shell_browser_lib.lib(headless_shell.obj) : error LNK2001: unresolved external symbol "public: __cdecl headless::HeadlessWebContents::Builder::~Builder(void)" (??1Builder@HeadlessWebContents@headless@@QEAA@XZ)
headless_shell_browser_lib.lib(headless_shell.obj) : error LNK2001: unresolved external symbol "public: class headless::HeadlessWebContents::Builder & __cdecl headless::HeadlessWebContents::Builder::SetInitialURL(class GURL const &)" (?SetInitialURL@Builder@HeadlessWebContents@headless@@QEAAAEAV123@AEBVGURL@@@Z)
headless_shell_browser_lib.lib(headless_shell.obj) : error LNK2001: unresolved external symbol "public: class headless::HeadlessWebContents * __cdecl headless::HeadlessWebContents::Builder::Build(void)" (?Build@Builder@HeadlessWebContents@headless@@QEAAPEAV23@XZ)
headless.lib(headless_browser_context_impl.obj) : error LNK2001: unresolved external symbol "private: __cdecl headless::HeadlessWebContents::Builder::Builder(class headless::HeadlessBrowserContextImpl *)" (??0Builder@HeadlessWebContents@headless@@AEAA@PEAVHeadlessBrowserContextImpl@2@@Z)
headless.lib(headless_browser_context_impl.obj) : error LNK2001: unresolved external symbol "public: static class std::unique_ptr<class headless::HeadlessWebContentsImpl,struct std::default_delete<class headless::HeadlessWebContentsImpl> > __cdecl headless::HeadlessWebContentsImpl::Create(class headless::HeadlessWebContents::Builder *)" (?Create@HeadlessWebContentsImpl@headless@@SA?AV?$unique_ptr@VHeadlessWebContentsImpl@headless@@U?$default_delete@VHeadlessWebContentsImpl@headless@@@std@@@std@@PEAVBuilder@HeadlessWebContents@2@@Z)
headless.lib(headless_browser_context_impl.obj) : error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl headless::HeadlessWebContentsImpl::GetDevToolsAgentHostId(void)" (?GetDevToolsAgentHostId@HeadlessWebContentsImpl@headless@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
headless.lib(headless_browser_impl.obj) : error LNK2001: unresolved external symbol "public: static class headless::HeadlessWebContentsImpl * __cdecl headless::HeadlessWebContentsImpl::From(class headless::HeadlessWebContents *)" (?From@HeadlessWebContentsImpl@headless@@SAPEAV12@PEAVHeadlessWebContents@2@@Z)
headless.lib(headless_browser_impl.obj) : error LNK2001: unresolved external symbol "public: __cdecl headless::HeadlessContentMainDelegate::HeadlessContentMainDelegate(class std::unique_ptr<class headless::HeadlessBrowserImpl,struct std::default_delete<class headless::HeadlessBrowserImpl> >)" (??0HeadlessContentMainDelegate@headless@@QEAA@V?$unique_ptr@VHeadlessBrowserImpl@headless@@U?$default_delete@VHeadlessBrowserImpl@headless@@@std@@@std@@@Z)
headless.lib(headless_browser_impl.obj) : error LNK2001: unresolved external symbol "public: virtual __cdecl headless::HeadlessContentMainDelegate::~HeadlessContentMainDelegate(void)" (??1HeadlessContentMainDelegate@headless@@UEAA@XZ)
headless.lib(headless_browser_impl_aura.obj) : error LNK2001: unresolved external symbol "public: class content::WebContents * __cdecl headless::HeadlessWebContentsImpl::web_contents(void)const " (?web_contents@HeadlessWebContentsImpl@headless@@QEBAPEAVWebContents@content@@XZ)
./chrome.dll : fatal error LNK1120: 10 unresolved externals
ninja: build stopped: subcommand failed.

Did this work before? N/A 

Chrome version: 61.0.3163.100  Channel: stable
OS Version: Windows 7
Flash Version:
 
Components: Internals>Headless
Labels: Needs-Feedback
Thanks for the report!
The build waterfall seems to be OK: https://build.chromium.org/p/chromium.win/waterfall?builder=Win%20Builder%20(dbg)

Can you provide your build arguments?

# Build arguments go here. Examples:
#   is_component_build = true
#   is_debug = false
# See "gn args <out_dir> --list" for available build arguments.
#
is_official_build = true
is_chrome_branded = false
is_debug = false
is_component_build = false
symbol_level = 0 
remove_webcore_debug_symbols = true
enable_plugins = true
enable_webrtc = true
enable_widevine = true
is_multi_dll_chrome = false
ffmpeg_branding = "Chrome"
proprietary_codecs = true
enable_hevc_demuxing = true
enable_mse_mpeg2ts_stream_parser = true
Project Member

Comment 3 by sheriffbot@chromium.org, Oct 8 2017

Cc: dvallet@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "dvallet@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Thanks, I'll see if I can replicate. 
For reference these are the arguments used by default:

is_component_build = true
is_debug = true
strip_absolute_paths_from_debug_symbols = true
symbol_level = 1
target_cpu = "x86"

My apologies, those arguments are for my mac build the windows build is below:
is_debug = false
is_component_build = false
symbol_level = 0 
remove_webcore_debug_symbols = true
is_official_build = true
enable_plugins = true
enable_webrtc = true
enable_widevine = true
is_multi_dll_chrome = false
ffmpeg_branding = "Chrome"
proprietary_codecs = true
if I remove "is_multi_dll_chrome = false" from the arguments the build completes and works.
Thanks, that's what I'm seeing in my workstation. 

I don't think chrome is meant to be build without multiple DLLs on Windows anymore, I suppose that's why is broken in Headless. 

If you feel like it should be supported, I'll give it a check

Comment 8 Deleted

I am ok building multiple DLLs on Windows 
Status: WontFix (was: Unconfirmed)
Thanks! I'll close this for now

Sign in to add a comment