Hi,

starting w/ r251, I'm no longer able to compile the bundled protobuf,
through the gyp-generated makefiles. Compiling via `./autogen.sh;
configure; [..]` works.

There are actually two problems, one introduced w/ r251/254 and one w/
r259.

The former problem is that HASH_MAP_CLASS and HASH_SET_CLASS end up
undefined because third_party/protobuf2/config.h doesn't mention it.

The resulting error looks like this:

In file included from third_party/protobuf2/src/src/google/protobuf/
stubs/hash.cc:34:
third_party/protobuf2/src/src/google/protobuf/stubs/hash.h:164: error:
expected template-name before '<' token
third_party/protobuf2/src/src/google/protobuf/stubs/hash.h:164: error:
expected '{' before '<' token
third_party/protobuf2/src/src/google/protobuf/stubs/hash.h:164: error:
expected unqualified-id before '<' token
third_party/protobuf2/src/src/google/protobuf/stubs/hash.h:171: error:
expected template-name before '<' token
third_party/protobuf2/src/src/google/protobuf/stubs/hash.h:171: error:
expected '{' before '<' token
third_party/protobuf2/src/src/google/protobuf/stubs/hash.h:171: error:
expected unqualified-id before '<' token

here's the full log: 
http://dev.exherbo.org/~pipping/1262100507-install-net-www_chromium-scm:scm::pipping.out

The second problem is that for some reason the files

src/src/google/protobuf/compiler/plugin.pb.cc
src/src/google/protobuf/compiler/subprocess.cc
src/src/google/protobuf/compiler/zip_writer.cc

appear not to be compiled or linked while the corresponding headers
are included. The resulting errors look like this:

command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x2d): undefined reference to
`google::protobuf::compiler::CodeGeneratorRequest::CodeGeneratorRequest
()'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x3a): undefined reference to
`google::protobuf::compiler::CodeGeneratorResponse::CodeGeneratorResponse
()'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x5c): undefined reference to
`google::protobuf::compiler::CodeGeneratorRequest::_default_parameter_'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x1b1): undefined reference to
`google::protobuf::compiler::Subprocess::Subprocess()'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x27f): undefined reference to
`google::protobuf::compiler::Subprocess::Start(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
google::protobuf::compiler::Subprocess::SearchMode)'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x2ad): undefined reference to
`google::protobuf::compiler::Subprocess::Communicate
(google::protobuf::Message const&, google::protobuf::Message*,
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>*)'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x437): undefined reference to
`google::protobuf::compiler::Subprocess::~Subprocess()'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x454): undefined reference to
`google::protobuf::compiler::CodeGeneratorResponse::~CodeGeneratorResponse
()'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x45e): undefined reference to
`google::protobuf::compiler::CodeGeneratorRequest::~CodeGeneratorRequest
()'
command_line_interface.cc:
(.text._ZN6google8protobuf8compiler20CommandLineInterface20GeneratePluginOutputERKSt6vectorIPKNS0_14FileDescriptorESaIS6_EERKSsSC_PNS1_15OutputDirectoryEPSs
+0x490): undefined reference to
`google::protobuf::compiler::Subprocess::Start(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
google::protobuf::compiler::Subprocess::SearchMode)'

here's the full log: 
http://dev.exherbo.org/~pipping/1262108899-install-net-www_chromium-scm:scm::pipping.out

I've made a patch that works around both problems for me; I've no idea
what a proper fix would be, though, which is why I'm turning here.

here's the patch: http://dev.exherbo.org/~pipping/chromium-protobuf.patch

In case you're wondering what way I'm building chromium, the functions
src_configure() and src_compile() in

  
http://git.exherbo.org/?p=dev/pipping.git;a=blob;f=packages/net-www/chromium/chromium-scm.exheres-0

sum that up.


Regards, Elias Pipping

-- 
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev

Reply via email to