Git Product home page Git Product logo

osm-binary's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osm-binary's Issues

which protobuf library does this use?

Is it 3.0.0?

I have a seperate protoc file of my own used in tandem with the library, and it's not working! LOL. I keep getting errors during the build -_-

Any advice would be appreciated.

blob-header-size is bigger then allowed

https://maptool-dipul.dfs.de/ is using pbf files which I would like to use. But I am getting blob-header-size is bigger then allowed. Are these not proper pbf files?

% curl 'https://sgx.geodatenzentrum.de/gdz_basemapde_vektor/tiles/v1/bm_web_de_3857/10/549/337.pbf' \
  -H 'Referer: https://maptool-dipul.dfs.de/' \
  -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36' \
  --compressed

% ./tools/osmpbf-outline ~/Downloads/337.pbf 
blob-header-size is bigger then allowed (446439032 > 65536)

Github action warning

The Github action shows this warning:

Warning: The add-path command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

Not sure where it comes from, we are not using add_path. Maybe it is the "arduino/setup-protoc@v1" we are using? Why do we need that. It seems to just install the protoc compiler, we could get this as apt package, don't we?

@simon04 ?

Can't create osmbpbf.jar on OSX using install instructions for ant

Hey there I'm trying to experiment with your library.

I've gone ahead and tried to build the jar file, however the build failed by not finding protoc. Then I installed that and then tried to rebuild, it then said the following:

Zacharys-MacBook-Pro:OSM-binary-master niteris$ ant
Buildfile: /Users/niteris/Desktop/Connect/app/OSM-binary-master/build.xml

init:

build:
[javac] Compiling 16 source files to /Users/niteris/Desktop/Connect/app/OSM-binary-master/build
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/BinaryParser.java:24: error: package com.google.protobuf does not exist
[javac] import com.google.protobuf.InvalidProtocolBufferException;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5103: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5009: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlock.java:28: error: package com.google.protobuf does not exist
[javac] import com.google.protobuf.ByteString;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockBase.java:20: error: package com.google.protobuf does not exist
[javac] import com.google.protobuf.ByteString;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockPosition.java:27: error: package com.google.protobuf does not exist
[javac] import com.google.protobuf.ByteString;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockPosition.java:28: error: package com.google.protobuf does not exist
[javac] import com.google.protobuf.InvalidProtocolBufferException;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2357: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2268: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11544: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11419: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:9173: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:9050: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:8030: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:7930: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:10433: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:10346: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:186: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:13: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:9: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite registry) {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5107: error: package com.google.protobuf.GeneratedMessageLite does not exist
[javac] private Info(com.google.protobuf.GeneratedMessageLite.Builder builder) {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5122: error: package com.google.protobuf does not exist
[javac] private final com.google.protobuf.ByteString unknownFields;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5124: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.CodedInputStream input,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5125: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5126: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5197: error: package com.google.protobuf does not exist
[javac] public static com.google.protobuf.Parser PARSER =
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5208: error: package com.google.protobuf does not exist
[javac] public com.google.protobuf.Parser getParserForType() {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5351: error: package com.google.protobuf does not exist
[javac] public void writeTo(com.google.protobuf.CodedOutputStream output)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5418: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ByteString data)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5419: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5423: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ByteString data,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5424: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5425: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5429: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5434: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5435: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5444: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5454: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5459: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.CodedInputStream input)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5464: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.CodedInputStream input,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5465: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:5485: error: package com.google.protobuf.GeneratedMessageLite does not exist
[javac] com.google.protobuf.GeneratedMessageLite.Builder<
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlock.java:36: error: cannot find symbol
[javac] ByteString data; // serialized Format.Blob
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlock
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlock.java:41: error: cannot find symbol
[javac] private FileBlock(String type, ByteString blob, ByteString indexdata) {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlock
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlock.java:41: error: cannot find symbol
[javac] private FileBlock(String type, ByteString blob, ByteString indexdata) {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlock
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlock.java:46: error: cannot find symbol
[javac] public static FileBlock newInstance(String type, ByteString blob,
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlock
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlock.java:47: error: cannot find symbol
[javac] ByteString indexdata) {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlock
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Fileformat.java:104: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Fileformat.java:13: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Fileformat.java:464: error: package com.google.protobuf.GeneratedMessageLite does not exist
[javac] com.google.protobuf.GeneratedMessageLite.Builder<
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlock.java:139: error: cannot find symbol
[javac] public ByteString getData() {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlock
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Fileformat.java:9: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite registry) {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockBase.java:38: error: cannot find symbol
[javac] protected FileBlockBase(String type, ByteString indexdata) {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlockBase
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockBase.java:49: error: cannot find symbol
[javac] protected final ByteString indexdata;
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlockBase
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockBase.java:55: error: cannot find symbol
[javac] public ByteString getIndexData() {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlockBase
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockPosition.java:41: error: cannot find symbol
[javac] protected FileBlockPosition(String type, ByteString indexdata) {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlockPosition
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockPosition.java:46: error: cannot find symbol
[javac] FileBlock parseData(byte buf[]) throws InvalidProtocolBufferException {
[javac] ^
[javac] symbol: class InvalidProtocolBufferException
[javac] location: class FileBlockPosition
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockPosition.java:100: error: cannot find symbol
[javac] public ByteString serialize() {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlockPosition
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/src.java/crosby/binary/file/FileBlockPosition.java:105: error: cannot find symbol
[javac] static FileBlockPosition parseFrom(ByteString b) {
[javac] ^
[javac] symbol: class ByteString
[javac] location: class FileBlockPosition
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2361: error: package com.google.protobuf.GeneratedMessageLite does not exist
[javac] private PrimitiveBlock(com.google.protobuf.GeneratedMessageLite.Builder builder) {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2376: error: package com.google.protobuf does not exist
[javac] private final com.google.protobuf.ByteString unknownFields;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2378: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.CodedInputStream input,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2379: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2380: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2465: error: package com.google.protobuf does not exist
[javac] public static com.google.protobuf.Parser PARSER =
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2476: error: package com.google.protobuf does not exist
[javac] public com.google.protobuf.Parser getParserForType() {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:4603: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:4578: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:3369: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.GeneratedMessageLite implements
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:3294: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.MessageLiteOrBuilder {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2643: error: package com.google.protobuf does not exist
[javac] public void writeTo(com.google.protobuf.CodedOutputStream output)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2710: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ByteString data)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2711: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2715: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ByteString data,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2716: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2717: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2721: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2726: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2727: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2736: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2746: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2751: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.CodedInputStream input)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2756: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.CodedInputStream input,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2757: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:2773: error: package com.google.protobuf.GeneratedMessageLite does not exist
[javac] com.google.protobuf.GeneratedMessageLite.Builder<
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11548: error: package com.google.protobuf.GeneratedMessageLite does not exist
[javac] private Relation(com.google.protobuf.GeneratedMessageLite.Builder builder) {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11563: error: package com.google.protobuf does not exist
[javac] private final com.google.protobuf.ByteString unknownFields;
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11565: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.CodedInputStream input,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11566: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11567: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11760: error: package com.google.protobuf does not exist
[javac] public static com.google.protobuf.Parser PARSER =
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11771: error: package com.google.protobuf does not exist
[javac] public com.google.protobuf.Parser getParserForType() {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:11779: error: package com.google.protobuf.Internal does not exist
[javac] implements com.google.protobuf.Internal.EnumLite {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:12044: error: package com.google.protobuf does not exist
[javac] public void writeTo(com.google.protobuf.CodedOutputStream output)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:12186: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ByteString data)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:12187: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:12191: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ByteString data,
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:12192: error: package com.google.protobuf does not exist
[javac] com.google.protobuf.ExtensionRegistryLite extensionRegistry)
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:12193: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] /Users/niteris/Desktop/Connect/app/OSM-binary-master/generated.java/crosby/binary/Osmformat.java:12197: error: package com.google.protobuf does not exist
[javac] throws com.google.protobuf.InvalidProtocolBufferException {
[javac] ^
[javac] 100 errors

Update protocol buffers version in pom

Currently the POM depends on a very old version of Protocl Buffers (2.4.1). It may make sense to upgrade it to the latest (2.6.1). I've tested this locally and everything seems to work (build succeeds and I can read OSM with OpenTripPlanner).

C++ compilation requires C++ 11

When building the C++ project using CMake I got this error:

#error "Protobuf requires at least C++11."

To solve it either add this line to the main CMakeLists.txt file:

set( CMAKE_CXX_STANDARD 11 )

Or add this flag to CMake:

-DCMAKE_CXX_STANDARD=11

CMake build doesn't configure SOVERSION for library

When using CMake instead of the Makefile for the Debian package build, the library does not have a SOVERSION configured and hence only the .so file is installed:

# ls -l /usr/lib/libosmpbf.so
-rw-r--r-- 1 root root 2542504 Jan  3 12:25 /usr/lib/libosmpbf.so
# objdump -x /usr/lib/libosmpbf.so | grep SONAME
  SONAME               libosmpbf.so

When using the Makefile build the library has a proper SOVERSION and symlinks:

$ ls -l /usr/lib/x86_64-linux-gnu/libosmpbf.so*
lrwxrwxrwx 1 root root     18 Oct 27 12:26 /usr/lib/x86_64-linux-gnu/libosmpbf.so -> libosmpbf.so.1.3.3
lrwxrwxrwx 1 root root     18 Oct 27 12:26 /usr/lib/x86_64-linux-gnu/libosmpbf.so.1 -> libosmpbf.so.1.3.3
-rw-r--r-- 1 root root 228112 Oct 27 12:26 /usr/lib/x86_64-linux-gnu/libosmpbf.so.1.3.3
$ objdump -x /usr/lib/x86_64-linux-gnu/libosmpbf.so.1 | grep SONAME
  SONAME               libosmpbf.so.1

Parsing issue

I am trying to figure out how to use the java parser with a .pbf file from geofafrik.de but I am having a problem getting the nodes correctly. I give the BlockInputStream the file and the parser sends back the HeaderBlock to the header method and such but when the parseDense method gets called with the nodes it does not give me the all the nodes correctly.

when I loop through the list of nodes to get the id, latitude and longitude the very first node is correct but after that it starts giving me numbers that make no sense and are not even in the .pbf file as a node. I can confirm that by using osmconvert to convert the .pbf file to a .osm xml file so I can see what is in the file.

to give you an example of what I mean, the first "node" of each iteration will give me something like this

id="38707804"
lat="41.8179677"
lon="-71.3800996"

which would be correct

but the next "node" in the list will be this

id="1"
lat="235862"
lon="-765386"

which is not correct and never appears in the .osm xml that I can look at. The next time the parseDense method gets called the same thing happens where the first "node" will be correct but everyone after that wont be.

also the parseNodes method never gets called for me only the parseDense method.

Is there something I am doing wrong or some extra steps I have to do to get all of the nodes?

osmpbf header version pointer

Hi,

First of all, this is a very good and useful library. Thanks a lot for the good work!
Secondly, there is a small problem with the declaration of the version in osmpbf.h. Right now it is declared as a const pointer to char. The problem with this is that it is not really a full constant. It should be either:
const char version[] = "1.2.1";
or
const char* const version = "1.2.1";
I have problems when I'm including the header in multiple sources.

Thanks,
Andrei

CMake build doesn't respect CMAKE_INSTALL_LIBDIR

When using CMake instead of the Makefile for the Debian package build, the library is not installed in the multiarch subdirectory specified with CMAKE_INSTALL_LIBDIR:

        cd obj-x86_64-linux-gnu && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGIST
RY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu ..
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.12.3") 
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found Threads: TRUE  
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    CMAKE_INSTALL_LIBDIR
    CMAKE_INSTALL_LOCALSTATEDIR
    CMAKE_INSTALL_SYSCONFDIR


-- Build files have been written to: /build/osmpbf-1.4.0/obj-x86_64-linux-gnu
[...]
        cd obj-x86_64-linux-gnu && make -j3 install DESTDIR=/build/osmpbf-1.4.0/debian/tmp AM_UPDATE_INFO_DIR=no PREFIX=/usr LIBDIR=/usr/lib/x86_64-linux-gnu
make[2]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
/usr/bin/cmake -S/build/osmpbf-1.4.0 -B/build/osmpbf-1.4.0/obj-x86_64-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /build/osmpbf-1.4.0/obj-x86_64-linux-gnu/CMakeFiles /build/osmpbf-1.4.0/obj-x86_64-linux-gnu//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[3]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make  -f osmpbf/CMakeFiles/osmpbf_shared.dir/build.make osmpbf/CMakeFiles/osmpbf_shared.dir/depend
make  -f osmpbf/CMakeFiles/osmpbf.dir/build.make osmpbf/CMakeFiles/osmpbf.dir/depend
make[4]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
cd /build/osmpbf-1.4.0/obj-x86_64-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/osmpbf-1.4.0 /build/osmpbf-1.4.0/osmpbf /build/osmpbf-1.4.0/obj-x86_64-linux-gnu /build/osmpbf-1.4.0/obj-x86_64-linux-gnu/osmpbf /bui
ld/osmpbf-1.4.0/obj-x86_64-linux-gnu/osmpbf/CMakeFiles/osmpbf_shared.dir/DependInfo.cmake --color=
make[4]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
cd /build/osmpbf-1.4.0/obj-x86_64-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/osmpbf-1.4.0 /build/osmpbf-1.4.0/osmpbf /build/osmpbf-1.4.0/obj-x86_64-linux-gnu /build/osmpbf-1.4.0/obj-x86_64-linux-gnu/osmpbf /build/osmpbf-1.4.0/obj-x86_64-linux-gnu/osmpbf/CMakeFiles/osmpbf.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make  -f osmpbf/CMakeFiles/osmpbf_shared.dir/build.make osmpbf/CMakeFiles/osmpbf_shared.dir/build
make[4]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make  -f osmpbf/CMakeFiles/osmpbf.dir/build.make osmpbf/CMakeFiles/osmpbf.dir/build
make[4]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make[4]: Nothing to be done for 'osmpbf/CMakeFiles/osmpbf_shared.dir/build'.
make[4]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make[4]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make[4]: Nothing to be done for 'osmpbf/CMakeFiles/osmpbf.dir/build'.
make[4]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
[ 41%] Built target osmpbf_shared
[ 83%] Built target osmpbf
make  -f tools/CMakeFiles/osmpbf-outline.dir/build.make tools/CMakeFiles/osmpbf-outline.dir/depend
make[4]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
cd /build/osmpbf-1.4.0/obj-x86_64-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/osmpbf-1.4.0 /build/osmpbf-1.4.0/tools /build/osmpbf-1.4.0/obj-x86_64-linux-gnu /build/osmpbf-1.4.0/obj-x86_64-linux-gnu/tools /build/osmpbf-1.4.0/obj-x86_64-linux-gnu/tools/CMakeFiles/osmpbf-outline.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make  -f tools/CMakeFiles/osmpbf-outline.dir/build.make tools/CMakeFiles/osmpbf-outline.dir/build
make[4]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make[4]: Nothing to be done for 'tools/CMakeFiles/osmpbf-outline.dir/build'.
make[4]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
[100%] Built target osmpbf-outline
make[3]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
/usr/bin/cmake -E cmake_progress_start /build/osmpbf-1.4.0/obj-x86_64-linux-gnu/CMakeFiles 0
make  -f CMakeFiles/Makefile2 preinstall
make[3]: Entering directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
make[3]: Nothing to be done for 'preinstall'.
make[3]: Leaving directory '/build/osmpbf-1.4.0/obj-x86_64-linux-gnu'
Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "None"
-- Installing: /build/osmpbf-1.4.0/debian/tmp/usr/lib/libosmpbf.a
-- Installing: /build/osmpbf-1.4.0/debian/tmp/usr/lib/libosmpbf.so
-- Installing: /build/osmpbf-1.4.0/debian/tmp/usr/include/osmpbf/osmpbf.h
-- Installing: /build/osmpbf-1.4.0/debian/tmp/usr/include/osmpbf/osmformat.pb.h
-- Installing: /build/osmpbf-1.4.0/debian/tmp/usr/include/osmpbf/fileformat.pb.h
-- Installing: /build/osmpbf-1.4.0/debian/tmp/usr/bin/osmpbf-outline
-- Installing: /build/osmpbf-1.4.0/debian/tmp/usr/share/man/man1/osmpbf-outline.1

Hardcoding the destination for the install command is the cause of this:

install(TARGETS osmpbf LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)

See also: https://cmake.org/cmake/help/v3.19/command/install.html#installing-targets

osm-pbf 1.4.0 OSX build issue

๐Ÿ‘‹ I have run into some build issue for osm-pbf 1.4.0, the error log is as follows:

==> make
protoc --proto_path=. --cpp_out=. fileformat.proto
protoc --proto_path=. --cpp_out=. osmformat.proto
cp -v fileformat.pb.h ../include/osmpbf/
fileformat.pb.h -> ../include/osmpbf/fileformat.pb.h
clang++ -O3 -Wall -Wextra -pedantic -Wredundant-decls -Wdisabled-optimization -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo -Wno-long-long -fPIC -c -o fileformat.pb.o fileformat.pb.cc
cp -v osmformat.pb.h ../include/osmpbf/
osmformat.pb.h -> ../include/osmpbf/osmformat.pb.h
clang++ -O3 -Wall -Wextra -pedantic -Wredundant-decls -Wdisabled-optimization -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo -Wno-long-long -fPIC -c -o osmformat.pb.o osmformat.pb.cc
ar -cr libosmpbf.a fileformat.pb.o osmformat.pb.o
clang++ -shared -Wl,-soname,libosmpbf.so.1 -o libosmpbf.so fileformat.pb.o osmformat.pb.o
ld: unknown option: -soname
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libosmpbf.so] Error 1
rm osmformat.pb.cc fileformat.pb.cc

relates to Homebrew/homebrew-core#63778

protobuf.jar

Hello,

I am already very excited, to use this library. I cloned this repo, installed Ant and wanted to execute like in the Readme for Java. However, it did not find the protobuf classes. Then I looked into the Ant build file, where I found this:

        <classpath>
            <fileset file="/usr/share/java/protobuf.jar"/>
            <fileset file="/usr/share/java/protobuf-java.jar"/>
        </classpath>

So do I need to install protobuf somehow on my system? Why arent these Maven dependencies?

Greetings Philipp

Unable to distinguish valid stream end from broken stream

Hi

I had recently run into an issue while importing large pbf file.
The problem was broken input stream and I ended up importing only half of the expected data that got unnoticed.
It's impossible to find out whether the import completed successfully and the EOFException is legit (basically that will be the case only while reading headersize in FileBlockHead.readHead) or whether the stream is broken in the middle of processing and it can not read the data to be expected down the line (any other place).

Either exception shall be thrown in such a case or another callback method in Sink introduced so Sink::complete() is called upon success and Sink:failure() upon error?

Add support for Protobuf 22+ which can require either C++14 or C++17

Since Protobuf 22, the minimum C++ standard is now C++14. If using recent Protobuf linked to Abseil, this may go up to C++17.

Looking at OSM code:

These both seem to force C++11 resulting in error:

[ 66%] Building CXX object osmpbf/CMakeFiles/osmpbf_shared.dir/fileformat.pb.cc.o
cd /tmp/osm-pbf-20231224-1763-27ruyv/OSM-binary-1.5.0/osmpbf && /opt/homebrew/Library/Homebrew/shims/mac/super/clang++ -Dosmpbf_shared_EXPORTS  -O3 -DNDEBUG -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -fPIC -MD -MT osmpbf/CMakeFiles/osmpbf_shared.dir/osmformat.pb.cc.o -MF CMakeFiles/osmpbf_shared.dir/osmformat.pb.cc.o.d -o CMakeFiles/osmpbf_shared.dir/osmformat.pb.cc.o -c /tmp/osm-pbf-20231224-1763-27ruyv/OSM-binary-1.5.0/osmpbf/osmformat.pb.cc
cd /tmp/osm-pbf-20231224-1763-27ruyv/OSM-binary-1.5.0/osmpbf && /opt/homebrew/Library/Homebrew/shims/mac/super/clang++ -Dosmpbf_shared_EXPORTS  -O3 -DNDEBUG -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -fPIC -MD -MT osmpbf/CMakeFiles/osmpbf_shared.dir/fileformat.pb.cc.o -MF CMakeFiles/osmpbf_shared.dir/fileformat.pb.cc.o.d -o CMakeFiles/osmpbf_shared.dir/fileformat.pb.cc.o -c /tmp/osm-pbf-20231224-1763-27ruyv/OSM-binary-1.5.0/osmpbf/fileformat.pb.cc
In file included from /tmp/osm-pbf-20231224-1763-27ruyv/OSM-binary-1.5.0/osmpbf/fileformat.pb.cc:4:
In file included from /tmp/osm-pbf-20231224-1763-27ruyv/OSM-binary-1.5.0/osmpbf/fileformat.pb.h:13:
In file included from /opt/homebrew/include/google/protobuf/port_def.inc:33:
In file included from /opt/homebrew/include/absl/base/attributes.h:37:
In file included from /opt/homebrew/include/absl/base/config.h:86:
/opt/homebrew/include/absl/base/policy_checks.h:79:2: error: "C++ versions less than C++14 are not supported."
#error "C++ versions less than C++14 are not supported."
 ^

There may be a way to use CMake meta features as Protobuf CMake files specify cxx_std_14 and Abseil CMake files specify cxx_std_17.

Alternatively, a way of letting user to just override CMAKE_CXX_STANDARD or an option to set value would help. Right now, -DCMAKE_CXX_STANDARD=17 doesn't work due to C++11 changes.

What is your attitude towards putting the Java version into Maven Central?

It would be nice to get a copy of the Java version into Maven Central, which makes it easy to reuse.

I'd be happy to do this if you don't feel like it, but if I do it it'll be signed with my PGP key and whatnot, so maybe you'd prefer to do it? On the other hand it's a bit of a hassle, so I can understand why you haven't done it yet :)

Anyway, if you'd rather do it yourself (or if you'd prefer that neither of us do it) just let me know. Thanks!

License for *.proto files

IANAL, but have some experience with software licenses. As far as I understand, code generated from *.proto files falls under the same license as original files. And not everyone is happy about LGPLv3+. May you change license to more permissive?

error: use of undeclared identifier 'isatty'

Cannot compile on FreeBSD:

[ 83%] Linking CXX shared library libosmpbf.so
[ 83%] Built target osmpbf
[ 91%] Building CXX object tools/CMakeFiles/osmpbf-outline.dir/osmpbf-outline.cpp.o
[ 91%] Built target osmpbf_shared
/tmp/OSM-binary/tools/osmpbf-outline.cpp:97:16: error: use of undeclared identifier 'isatty'
    usecolor = isatty(1);
               ^
1 error generated.
--- tools/CMakeFiles/osmpbf-outline.dir/osmpbf-outline.cpp.o ---
*** [tools/CMakeFiles/osmpbf-outline.dir/osmpbf-outline.cpp.o] Error code 1

make[2]: stopped in /tmp/OSM-binary
1 error

make[2]: stopped in /tmp/OSM-binary
--- tools/CMakeFiles/osmpbf-outline.dir/all ---
*** [tools/CMakeFiles/osmpbf-outline.dir/all] Error code 2

make[1]: stopped in /tmp/OSM-binary
1 error

make[1]: stopped in /tmp/OSM-binary
*** [all] Error code 2

make: stopped in /tmp/OSM-binary
1 error

make: stopped in /tmp/OSM-binary

Where is Osmformat class?

I have cloned code from git, when i open it with idea, i cannot find class Fileformat and Osmformat, can you tell me the definition of them? Thank you.

port to yocto

dear all
has anyone tried to port its c version to yocto build system?

Inconsistent type of roles_id in message Relation?

This issue may belong into osmosis, depending on who 'owns' the protobuf definition.

In message Relation the field roles_id has type int32. If I understand this correctly, roles_id is an index into the StringTable, and in all other messages such indexes have type uint32. For all practical purposes this doesn't matter, it's just a small inconsistency.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.