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