I am trying to compile googlr protobuf 3.5.2 on a 64 bit linux machine for a 32 bit libraries.i get the following error. pleae help. i was able to compile 64 bit libraries on the same linux machine.
*Error* ./google/protobuf/stubs/hash.h: At global scope: ./google/protobuf/stubs/hash.h: In instantiation of 'google::protobuf::hash': ./google/protobuf/map_field.h:817: instantiated from here ./google/protobuf/stubs/hash.h:336: error: invalid use of undefined type 'struct std::tr1::hash' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/tr1/functional:1101: error: declaration of 'struct std::tr1::hash' ./google/protobuf/map_field.h: In member function 'size_t google::protobuf::hash::operator()(const google::protobuf::MapKey&) const': ./google/protobuf/map_field.h:817: error: no match for call to '(google::protobuf::hash) (google::protobuf::int64)' ./google/protobuf/stubs/hash.h: At global scope: ./google/protobuf/stubs/hash.h: In instantiation of 'google::protobuf::hash': ./google/protobuf/map_field.h:821: instantiated from here ./google/protobuf/stubs/hash.h:336: error: invalid use of undefined type 'struct std::tr1::hash' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/tr1/functional:1101: error: declaration of 'struct std::tr1::hash' ./google/protobuf/map_field.h: In member function 'size_t google::protobuf::hash::operator()(const google::protobuf::MapKey&) const': ./google/protobuf/map_field.h:821: error: no match for call to '(google::protobuf::hash) (google::protobuf::uint64)' *Env details* -bash-3.2$ uname -a Linux bvmlin-usdev2 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux -bash-3.2$ g++ --version g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *protobuf configuration* ./configure CXXFLAGS="-m32 -DNDEBUG" Also tried chaning CXXFlags in configure.ac file itself and then run autogen, configure. i am able to compile Same source code (3.5.2) on windows for 32 and 64 bit and 64 bit linux also. please help me in - does 3.5.2 version of protobuf supports 32 bit linux compilation? - if so any sepcial changes/flags i need to before running autogen or configure -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
