New issue
Advanced search Search tips

Issue 595790 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Duplicate symbols warning when linking CRD PNaCl plugin

Project Member Reported by sergeyu@chromium.org, Mar 17 2016

Issue description

I see the following warning when linking the plugin now:

[2168/2171] LINK newlib_pnacl/remoting_client_plugin_newlib.pexe
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: error: newlib_pnacl/obj/net/net/token_binding_openssl.o: multiple definition of 'net::IsTokenBindingSupported()'
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: newlib_pnacl/obj/net/net/token_binding_nss.o: previous definition here
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: error: newlib_pnacl/obj/net/net/token_binding_openssl.o: multiple definition of 'net::SignTokenBindingEkm(base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, crypto::ECPrivateKey*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*)'
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: newlib_pnacl/obj/net/net/token_binding_nss.o: previous definition here
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: error: newlib_pnacl/obj/net/net/token_binding_openssl.o: multiple definition of 'net::BuildTokenBindingMessageFromTokenBindings(std::__1::vector<base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)'
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: newlib_pnacl/obj/net/net/token_binding_nss.o: previous definition here
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: error: newlib_pnacl/obj/net/net/token_binding_openssl.o: multiple definition of 'net::BuildProvidedTokenBinding(crypto::ECPrivateKey*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)'
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: newlib_pnacl/obj/net/net/token_binding_nss.o: previous definition here
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: error: newlib_pnacl/obj/net/net/token_binding_openssl.o: multiple definition of 'net::ParseTokenBindingMessage(base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)'
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: newlib_pnacl/obj/net/net/token_binding_nss.o: previous definition here
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: error: newlib_pnacl/obj/net/net/token_binding_openssl.o: multiple definition of 'net::VerifyEKMSignature(base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >)'
/home/sergeyu/c/src/native_client/toolchain/linux_x86/pnacl_newlib/bin/le32-nacl-ld.gold: newlib_pnacl/obj/net/net/token_binding_nss.o: previous definition here
[2171/2171] STAMP obj/remoting/webapp/webapp.stamp

The plugin still appears to be working.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7f891b06a0b1b278eaf241c78ce35e084b77a02

commit a7f891b06a0b1b278eaf241c78ce35e084b77a02
Author: sergeyu <sergeyu@chromium.org>
Date: Thu Mar 17 21:12:25 2016

Move token_binding_nss.cc to net_non_nacl_sources.

Previoulsy both token_binding_nss.cc and token_binding_openssl.cc
were compiled when compiling net for NaCl. This was causing linker
warkings about duplicate symbols.

BUG= 595790 

Review URL: https://codereview.chromium.org/1807313002

Cr-Commit-Position: refs/heads/master@{#381796}

[modify] https://crrev.com/a7f891b06a0b1b278eaf241c78ce35e084b77a02/net/net.gypi

Status: Fixed (was: Assigned)

Sign in to add a comment