I give up, there seems to be one of this things that cannot be done.
protoc --version
libprotoc 3.3.0
I compiled protoc from source, but still nothing.
/osm-history-renderer/importer$ make
clang++ -g -O3 -Wall -Wextra -pedantic getconf LFS_CFLAGS -I/usr/include/postgresql/ -I/usr/include/libxml2/ -DOSMIUM_WITH_GEOS -o osm-history-importer importer.cpp -lexpat -lpq -lproj -lz -lprotobuf-lite -losmpbf -lpthread -lgeos
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:5:
/usr/local/include/osmpbf/fileformat.pb.h:17:2: error: This file was generated by an older version of protoc which is
error This file was generated by an older version of protoc which is
^
/usr/local/include/osmpbf/fileformat.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please
error incompatible with your Protocol Buffer headers. Please
^
/usr/local/include/osmpbf/fileformat.pb.h:19:2: error: regenerate this file with a newer version of protoc.
error regenerate this file with a newer version of protoc.
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:8:
/usr/local/include/osmpbf/osmformat.pb.h:17:2: error: This file was generated by an older version of protoc which is
error This file was generated by an older version of protoc which is
^
/usr/local/include/osmpbf/osmformat.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please
error incompatible with your Protocol Buffer headers. Please
^
/usr/local/include/osmpbf/osmformat.pb.h:19:2: error: regenerate this file with a newer version of protoc.
error regenerate this file with a newer version of protoc.
^
/usr/local/include/osmpbf/osmformat.pb.h:1818:34: error: allocating an object of abstract class type '::OSMPBF::HeaderBBox'
if (bbox == NULL) bbox = new ::OSMPBF::HeaderBBox;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'HeaderBBox'
virtual sizet ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:8:
/usr/local/include/osmpbf/osmformat.pb.h:2351:48: error: allocating an object of abstract class type '::OSMPBF::StringTable'
if (stringtable == NULL) stringtable_ = new ::OSMPBF::StringTable;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'StringTable'
virtual sizet ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:8:
/usr/local/include/osmpbf/osmformat.pb.h:2556:36: error: allocating an object of abstract class type '::OSMPBF::DenseNodes'
if (dense == NULL) dense_ = new ::OSMPBF::DenseNodes;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'DenseNodes'
virtual sizet ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:8:
/usr/local/include/osmpbf/osmformat.pb.h:3197:34: error: allocating an object of abstract class type '::OSMPBF::Info'
if (info == NULL) info_ = new ::OSMPBF::Info;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'Info'
virtual sizet ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:8:
/usr/local/include/osmpbf/osmformat.pb.h:3324:44: error: allocating an object of abstract class type '::OSMPBF::DenseInfo'
if (denseinfo == NULL) denseinfo_ = new ::OSMPBF::DenseInfo;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'DenseInfo'
virtual sizet ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:8:
/usr/local/include/osmpbf/osmformat.pb.h:3547:34: error: allocating an object of abstract class type '::OSMPBF::Info'
if (info == NULL) info = new ::OSMPBF::Info;
^
/usr/local/include/osmpbf/osmformat.pb.h:3710:34: error: allocating an object of abstract class type '::OSMPBF::Info'
if (info == NULL) info_ = new ::OSMPBF::Info;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
/usr/include/osmium/input/pbf.hpp:57:36: error: field type 'OSMPBF::Blob' is an abstract class
OSMPBF::Blob m_pbf_blob;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'Blob'
virtual size_t ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
/usr/include/osmium/input/pbf.hpp:58:36: error: field type 'OSMPBF::BlobHeader' is an abstract class
OSMPBF::BlobHeader m_pbf_blob_header;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'BlobHeader'
virtual size_t ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
/usr/include/osmium/input/pbf.hpp:59:36: error: field type 'OSMPBF::PrimitiveBlock' is an abstract class
OSMPBF::PrimitiveBlock m_pbf_primitive_block;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'PrimitiveBlock'
virtual size_t ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
/usr/include/osmium/input/pbf.hpp:103:49: error: variable type 'OSMPBF::HeaderBlock' is an abstract class
OSMPBF::HeaderBlock pbf_header_block;
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'HeaderBlock'
virtual size_t ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:5:
In file included from /usr/local/include/osmpbf/fileformat.pb.h:24:
In file included from /usr/local/include/google/protobuf/repeated_field.h:61:
/usr/local/include/google/protobuf/arena.h:320:18: error: allocating an object of abstract class type 'OSMPBF::PrimitiveGroup'
return new T();
^
/usr/local/include/google/protobuf/arena.h:644:12: note: in instantiation of function template specialization 'google::protobuf::Arena::Create'
requested here
return Create(arena);
^
/usr/local/include/google/protobuf/repeated_field.h:612:39: note: in instantiation of function template specialization
'google::protobuf::Arena::CreateMaybeMessage' requested here
return ::google::protobuf::Arena::CreateMaybeMessage(
^
/usr/local/include/google/protobuf/repeated_field.h:643:10: note: in instantiation of member function
'google::protobuf::internal::GenericTypeHandler::New' requested here
return New(arena);
^
/usr/local/include/google/protobuf/repeatedfield.h:1513:20: note: in instantiation of member function
'google::protobuf::internal::GenericTypeHandler::NewFromPrototype' requested here
TypeHandler::NewFromPrototype(prototype, arena);
^
/usr/local/include/google/protobuf/repeatedfield.h:1930:32: note: in instantiation of function template specialization
'google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField::TypeHandler>' requested here
return RepeatedPtrFieldBase::Add();
^
/usr/local/include/osmpbf/osmformat.pb.h:2389:26: note: in instantiation of member function 'google::protobuf::RepeatedPtrField::Add' requested
here
return primitivegroup.Add();
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'PrimitiveGroup'
virtual size_t ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:5:
In file included from /usr/local/include/osmpbf/fileformat.pb.h:24:
In file included from /usr/local/include/google/protobuf/repeated_field.h:61:
/usr/local/include/google/protobuf/arena.h:320:18: error: allocating an object of abstract class type 'OSMPBF::Node'
return new T();
^
/usr/local/include/google/protobuf/arena.h:644:12: note: in instantiation of function template specialization 'google::protobuf::Arena::Create' requested
here
return Create(arena);
^
/usr/local/include/google/protobuf/repeated_field.h:612:39: note: in instantiation of function template specialization
'google::protobuf::Arena::CreateMaybeMessage' requested here
return ::google::protobuf::Arena::CreateMaybeMessage(
^
/usr/local/include/google/protobuf/repeated_field.h:643:10: note: in instantiation of member function 'google::protobuf::internal::GenericTypeHandler::New'
requested here
return New(arena);
^
/usr/local/include/google/protobuf/repeatedfield.h:1513:20: note: in instantiation of member function
'google::protobuf::internal::GenericTypeHandler::NewFromPrototype' requested here
TypeHandler::NewFromPrototype(prototype, arena);
^
/usr/local/include/google/protobuf/repeatedfield.h:1930:32: note: in instantiation of function template specialization
'google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField::TypeHandler>' requested here
return RepeatedPtrFieldBase::Add();
^
/usr/local/include/osmpbf/osmformat.pb.h:2519:17: note: in instantiation of member function 'google::protobuf::RepeatedPtrField::Add' requested here
return nodes.Add();
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'Node'
virtual size_t ByteSizeLong() const = 0;
I give up, there seems to be one of this things that cannot be done.
protoc --version libprotoc 3.3.0
I compiled protoc from source, but still nothing.
/osm-history-renderer/importer$ make clang++ -g -O3 -Wall -Wextra -pedantic
getconf LFS_CFLAGS
-I/usr/include/postgresql/ -I/usr/include/libxml2/ -DOSMIUM_WITH_GEOS -o osm-history-importer importer.cpp -lexpat -lpq -lproj -lz -lprotobuf-lite -losmpbf -lpthread -lgeos In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:5: /usr/local/include/osmpbf/fileformat.pb.h:17:2: error: This file was generated by an older version of protoc which iserror This file was generated by an older version of protoc which is
^ /usr/local/include/osmpbf/fileformat.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please
error incompatible with your Protocol Buffer headers. Please
^ /usr/local/include/osmpbf/fileformat.pb.h:19:2: error: regenerate this file with a newer version of protoc.
error regenerate this file with a newer version of protoc.
^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:8: /usr/local/include/osmpbf/osmformat.pb.h:17:2: error: This file was generated by an older version of protoc which is
error This file was generated by an older version of protoc which is
^ /usr/local/include/osmpbf/osmformat.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please
error incompatible with your Protocol Buffer headers. Please
^ /usr/local/include/osmpbf/osmformat.pb.h:19:2: error: regenerate this file with a newer version of protoc.
error regenerate this file with a newer version of protoc.
^ /usr/local/include/osmpbf/osmformat.pb.h:1818:34: error: allocating an object of abstract class type '::OSMPBF::HeaderBBox' if (bbox == NULL) bbox = new ::OSMPBF::HeaderBBox; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'HeaderBBox' virtual sizet ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:8: /usr/local/include/osmpbf/osmformat.pb.h:2351:48: error: allocating an object of abstract class type '::OSMPBF::StringTable' if (stringtable == NULL) stringtable_ = new ::OSMPBF::StringTable; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'StringTable' virtual sizet ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:8: /usr/local/include/osmpbf/osmformat.pb.h:2556:36: error: allocating an object of abstract class type '::OSMPBF::DenseNodes' if (dense == NULL) dense_ = new ::OSMPBF::DenseNodes; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'DenseNodes' virtual sizet ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:8: /usr/local/include/osmpbf/osmformat.pb.h:3197:34: error: allocating an object of abstract class type '::OSMPBF::Info' if (info == NULL) info_ = new ::OSMPBF::Info; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'Info' virtual sizet ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:8: /usr/local/include/osmpbf/osmformat.pb.h:3324:44: error: allocating an object of abstract class type '::OSMPBF::DenseInfo' if (denseinfo == NULL) denseinfo_ = new ::OSMPBF::DenseInfo; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'DenseInfo' virtual sizet ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:8: /usr/local/include/osmpbf/osmformat.pb.h:3547:34: error: allocating an object of abstract class type '::OSMPBF::Info' if (info == NULL) info = new ::OSMPBF::Info; ^ /usr/local/include/osmpbf/osmformat.pb.h:3710:34: error: allocating an object of abstract class type '::OSMPBF::Info' if (info == NULL) info_ = new ::OSMPBF::Info; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: /usr/include/osmium/input/pbf.hpp:57:36: error: field type 'OSMPBF::Blob' is an abstract class OSMPBF::Blob m_pbf_blob; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'Blob' virtual size_t ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: /usr/include/osmium/input/pbf.hpp:58:36: error: field type 'OSMPBF::BlobHeader' is an abstract class OSMPBF::BlobHeader m_pbf_blob_header; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'BlobHeader' virtual size_t ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: /usr/include/osmium/input/pbf.hpp:59:36: error: field type 'OSMPBF::PrimitiveBlock' is an abstract class OSMPBF::PrimitiveBlock m_pbf_primitive_block; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'PrimitiveBlock' virtual size_t ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: /usr/include/osmium/input/pbf.hpp:103:49: error: variable type 'OSMPBF::HeaderBlock' is an abstract class OSMPBF::HeaderBlock pbf_header_block; ^ /usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'HeaderBlock' virtual size_t ByteSizeLong() const = 0; ^ In file included from importer.cpp:17: In file included from /usr/include/osmium.hpp:26: In file included from /usr/include/osmium/input/pbf.hpp:33: In file included from /usr/local/include/osmpbf/osmpbf.h:5: In file included from /usr/local/include/osmpbf/fileformat.pb.h:24: In file included from /usr/local/include/google/protobuf/repeated_field.h:61: /usr/local/include/google/protobuf/arena.h:320:18: error: allocating an object of abstract class type 'OSMPBF::PrimitiveGroup' return new T(); ^ /usr/local/include/google/protobuf/arena.h:644:12: note: in instantiation of function template specialization 'google::protobuf::Arena::Create'
requested here
return Create(arena);
^
/usr/local/include/google/protobuf/repeated_field.h:612:39: note: in instantiation of function template specialization
'google::protobuf::Arena::CreateMaybeMessage' requested here
return ::google::protobuf::Arena::CreateMaybeMessage(
^
/usr/local/include/google/protobuf/repeated_field.h:643:10: note: in instantiation of member function
'google::protobuf::internal::GenericTypeHandler::New' requested here
return New(arena);
^
/usr/local/include/google/protobuf/repeatedfield.h:1513:20: note: in instantiation of member function
'google::protobuf::internal::GenericTypeHandler::NewFromPrototype' requested here
TypeHandler::NewFromPrototype(prototype, arena );
^
/usr/local/include/google/protobuf/repeatedfield.h:1930:32: note: in instantiation of function template specialization
'google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField::TypeHandler>' requested here
return RepeatedPtrFieldBase::Add();
^
/usr/local/include/osmpbf/osmformat.pb.h:2389:26: note: in instantiation of member function 'google::protobuf::RepeatedPtrField::Add' requested
here
return primitivegroup .Add();
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'PrimitiveGroup'
virtual size_t ByteSizeLong() const = 0;
^
In file included from importer.cpp:17:
In file included from /usr/include/osmium.hpp:26:
In file included from /usr/include/osmium/input/pbf.hpp:33:
In file included from /usr/local/include/osmpbf/osmpbf.h:5:
In file included from /usr/local/include/osmpbf/fileformat.pb.h:24:
In file included from /usr/local/include/google/protobuf/repeated_field.h:61:
/usr/local/include/google/protobuf/arena.h:320:18: error: allocating an object of abstract class type 'OSMPBF::Node'
return new T();
^
/usr/local/include/google/protobuf/arena.h:644:12: note: in instantiation of function template specialization 'google::protobuf::Arena::Create' requested
here
return Create(arena);
^
/usr/local/include/google/protobuf/repeated_field.h:612:39: note: in instantiation of function template specialization
'google::protobuf::Arena::CreateMaybeMessage' requested here
return ::google::protobuf::Arena::CreateMaybeMessage(
^
/usr/local/include/google/protobuf/repeated_field.h:643:10: note: in instantiation of member function 'google::protobuf::internal::GenericTypeHandler::New'
requested here
return New(arena);
^
/usr/local/include/google/protobuf/repeatedfield.h:1513:20: note: in instantiation of member function
'google::protobuf::internal::GenericTypeHandler::NewFromPrototype' requested here
TypeHandler::NewFromPrototype(prototype, arena );
^
/usr/local/include/google/protobuf/repeatedfield.h:1930:32: note: in instantiation of function template specialization
'google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField::TypeHandler>' requested here
return RepeatedPtrFieldBase::Add();
^
/usr/local/include/osmpbf/osmformat.pb.h:2519:17: note: in instantiation of member function 'google::protobuf::RepeatedPtrField::Add' requested here
return nodes .Add();
^
/usr/local/include/google/protobuf/message_lite.h:249:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'Node'
virtual size_t ByteSizeLong() const = 0;