Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vector_tile.pb.h:12:2: error: #error This file was generated by a newer version of protoc #277

Closed
am2222 opened this issue Feb 16, 2018 · 34 comments

Comments

@am2222
Copy link

am2222 commented Feb 16, 2018

Hi,
While I tried to make I faced this error

In file included from Release/obj/gen/vector_tile.pb.cc:5:0: Release/obj/gen/vector_tile.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is

I tried both protobuf 3.3.0 and protobuf 3.4.1 but there was not any change, where am I doing wrong?

@flippmoke
Copy link
Member

@am2222 what OS are you using, does running make simply not work. In MVT - only for the tests do we use protobuf library directly.

@am2222
Copy link
Author

am2222 commented Feb 17, 2018

@flippmoke Hi,
I am on linux and I tried to make It starts to download from mason firstly it downloaded 3.3.0 and raised this error later I again edited install_mason.sh and changed ptotobuf to 3.4.1 but error exists.

@flippmoke
Copy link
Member

@am2222 could you provide the entire log after you run make, what version of Linux? I will attempt to replicate on a docker image if I can.

@am2222
Copy link
Author

am2222 commented Feb 18, 2018

@flippmoke
Here it is. I am using ubunto 17.0.4

m@ubuntu:~/3.0.16/mapnik-vector-tile-master$ make
./install_mason.sh
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/protozero/1.5.2
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/protozero/1.5.2
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/protozero/1.5.2
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/geometry/0.9.2
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/geometry/0.9.2
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/geometry/0.9.2
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/wagyu/0.4.3
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/wagyu/0.4.3
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/wagyu/0.4.3
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/protobuf/3.3.0
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/protobuf/3.3.0
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/protobuf/3.3.0
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/jpeg_turbo/1.5.1
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/jpeg_turbo/1.5.1
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/jpeg_turbo/1.5.1
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libpng/1.6.28
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libpng/1.6.28
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libpng/1.6.28
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libtiff/4.0.7
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libtiff/4.0.7
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libtiff/4.0.7
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/icu/57.1
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/icu/57.1
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/icu/57.1
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/proj/4.9.3
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/proj/4.9.3
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/proj/4.9.3
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/pixman/0.34.0
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/pixman/0.34.0
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/pixman/0.34.0
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/cairo/1.14.8
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/cairo/1.14.8
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/cairo/1.14.8
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/webp/0.6.0
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/webp/0.6.0
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/webp/0.6.0
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libgdal/2.1.3
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libgdal/2.1.3
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/libgdal/2.1.3
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/boost/1.63.0
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/boost/1.63.0
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/headers/boost/1.63.0
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libsystem/1.63.0
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libsystem/1.63.0
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libsystem/1.63.0
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libfilesystem/1.63.0
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libfilesystem/1.63.0
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libfilesystem/1.63.0
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libregex_icu57/1.63.0
basename: missing operand
Try 'basename --help' for more information.
basename: missing operand
Try 'basename --help' for more information.
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libregex_icu57/1.63.0
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/boost_libregex_icu57/1.63.0
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/freetype/2.7.1
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/freetype/2.7.1
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/freetype/2.7.1
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/harfbuzz/1.4.2-ft
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/harfbuzz/1.4.2-ft
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/harfbuzz/1.4.2-ft
* Already installed at /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/mapnik/f02a25901
* Linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/mapnik/f02a25901
* Links will be inside /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/.link/
* Using bash fallback for symlinking (install lndir for faster symlinking)
* Done linking /home/m/3.0.16/mapnik-vector-tile-master/mason_packages/linux-x86_64/mapnik/f02a25901
CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 " make release_base
make[1]: Entering directory '/home/m/3.0.16/mapnik-vector-tile-master'
CXXFLAGS="-isystem `pwd`/mason_packages/.link/include -D_GLIBCXX_USE_CXX11_ABI=0 " \
 LDFLAGS="-L`pwd`/mason_packages/.link/lib " \
 PATH="`pwd`/mason_packages/.link/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" \
 BUILDTYPE=Release make build/Makefile
make[2]: Entering directory '/home/m/3.0.16/mapnik-vector-tile-master'
Looking for mapnik-config on your PATH...
mapnik-config -v
3.0.16
deps/gyp/gyp gyp/build.gyp -Denable_sse=true --depth=. -DMAPNIK_PLUGINDIR=\"/usr/local/lib/mapnik/input\" -Goutput_dir=. --generator-output=./build -f make
make -C build/ V=
make[3]: Entering directory '/home/m/3.0.16/mapnik-vector-tile-master/build'
  TOUCH gyp_build_gyp_make_vector_tile_target_run_protoc.intermediate
  ACTION gyp_build_gyp_make_vector_tile_target_run_protoc gyp_build_gyp_make_vector_tile_target_run_protoc.intermediate
  CXX(target) Release/obj.target/vector_tile/gen/vector_tile.pb.o
In file included from Release/obj/gen/vector_tile.pb.cc:5:0:
Release/obj/gen/vector_tile.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
 #error This file was generated by a newer version of protoc which is
  ^~~~~
Release/obj/gen/vector_tile.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
 #error incompatible with your Protocol Buffer headers.  Please update
  ^~~~~
Release/obj/gen/vector_tile.pb.h:14:2: error: #error your headers.
 #error your headers.
  ^~~~~
In file included from Release/obj/gen/vector_tile.pb.cc:5:0:
Release/obj/gen/vector_tile.pb.h: In member function ‘void vector_tile::Tile_Layer::add_keys(std::string&&)’:
Release/obj/gen/vector_tile.pb.h:1231:29: error: no matching function for call to ‘google::protobuf::RepeatedPtrField<std::basic_string<char> >::Add(std::remove_reference<std::basic_string<char>&>::type)’
   keys_.Add(std::move(value));
                             ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:1847:17: note: candidate: Element* google::protobuf::RepeatedPtrField<Element>::Add() [with Element = std::basic_string<char>]
 inline Element* RepeatedPtrField<Element>::Add() {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:1847:17: note:   candidate expects 0 arguments, 1 provided
Release/obj/gen/vector_tile.pb.cc: In member function ‘virtual bool vector_tile::Tile_Value::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)’:
Release/obj/gen/vector_tile.pb.cc:203:37: error: no matching function for call to ‘NewPermanentCallback(google::protobuf::internal::InternalMetadataWithArenaLite*, std::basic_string<char>* (google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>::*)())’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note: candidate: google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)())
 inline Closure* NewPermanentCallback(void (*function)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note:   candidate expects 1 argument, 2 provided
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note: candidate: template<class Class> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)())
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note: candidate: template<class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(void (*function)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘void(Arg1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note: candidate: template<class Class, class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note: candidate: template<class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(void (*function)(Arg1, Arg2),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘void(Arg1, Arg2)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note: candidate: template<class Class, class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note: candidate: template<class R> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)())
 inline ResultCallback<R>* NewPermanentCallback(R (*function)()) {
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘R()’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note: candidate: template<class R, class P1> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)(P1), P1)
 inline ResultCallback<R>* NewPermanentCallback(
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘R(P1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note: candidate: template<class R, class A1> google::protobuf::ResultCallback1<R, Arg1>* google::protobuf::NewPermanentCallback(R (*)(A1))
 inline ResultCallback1<R, A1>* NewPermanentCallback(R (*function)(A1)) {
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘R(A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note: candidate: template<class R, class P1, class A1> google::protobuf::ResultCallback1<R, A1>* google::protobuf::NewPermanentCallback(R (*)(P1, A1), P1)
 inline ResultCallback1<R, A1>* NewPermanentCallback(
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   mismatched types ‘R(P1, A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note: candidate: template<class R, class T, class P1, class P2, class P3, class P4, class P5, class A1, class A2> google::protobuf::ResultCallback2<R, A1, A2>* google::protobuf::NewPermanentCallback(T*, R (T::*)(P1, P2, P3, P4, P5, A1, A2), typename google::protobuf::internal::InternalConstRef<P1>::type, typename google::protobuf::internal::InternalConstRef<P2>::type, typename google::protobuf::internal::InternalConstRef<P3>::type, typename google::protobuf::internal::InternalConstRef<P4>::type, typename google::protobuf::internal::InternalConstRef<P5>::type)
 inline ResultCallback2<R, A1, A2>* NewPermanentCallback(
                                    ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:203:37: note:   deduced conflicting types for parameter ‘T’ (‘google::protobuf::internal::InternalMetadataWithArenaLite’ and ‘google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>’)
               mutable_unknown_fields));
                                     ^
Release/obj/gen/vector_tile.pb.cc: In member function ‘virtual bool vector_tile::Tile_Feature::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)’:
Release/obj/gen/vector_tile.pb.cc:830:37: error: no matching function for call to ‘NewPermanentCallback(google::protobuf::internal::InternalMetadataWithArenaLite*, std::basic_string<char>* (google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>::*)())’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note: candidate: google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)())
 inline Closure* NewPermanentCallback(void (*function)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note:   candidate expects 1 argument, 2 provided
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note: candidate: template<class Class> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)())
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note: candidate: template<class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(void (*function)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘void(Arg1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note: candidate: template<class Class, class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note: candidate: template<class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(void (*function)(Arg1, Arg2),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘void(Arg1, Arg2)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note: candidate: template<class Class, class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note: candidate: template<class R> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)())
 inline ResultCallback<R>* NewPermanentCallback(R (*function)()) {
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘R()’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note: candidate: template<class R, class P1> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)(P1), P1)
 inline ResultCallback<R>* NewPermanentCallback(
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘R(P1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note: candidate: template<class R, class A1> google::protobuf::ResultCallback1<R, Arg1>* google::protobuf::NewPermanentCallback(R (*)(A1))
 inline ResultCallback1<R, A1>* NewPermanentCallback(R (*function)(A1)) {
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘R(A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note: candidate: template<class R, class P1, class A1> google::protobuf::ResultCallback1<R, A1>* google::protobuf::NewPermanentCallback(R (*)(P1, A1), P1)
 inline ResultCallback1<R, A1>* NewPermanentCallback(
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   mismatched types ‘R(P1, A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note: candidate: template<class R, class T, class P1, class P2, class P3, class P4, class P5, class A1, class A2> google::protobuf::ResultCallback2<R, A1, A2>* google::protobuf::NewPermanentCallback(T*, R (T::*)(P1, P2, P3, P4, P5, A1, A2), typename google::protobuf::internal::InternalConstRef<P1>::type, typename google::protobuf::internal::InternalConstRef<P2>::type, typename google::protobuf::internal::InternalConstRef<P3>::type, typename google::protobuf::internal::InternalConstRef<P4>::type, typename google::protobuf::internal::InternalConstRef<P5>::type)
 inline ResultCallback2<R, A1, A2>* NewPermanentCallback(
                                    ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:830:37: note:   deduced conflicting types for parameter ‘T’ (‘google::protobuf::internal::InternalMetadataWithArenaLite’ and ‘google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>’)
               mutable_unknown_fields));
                                     ^
Release/obj/gen/vector_tile.pb.cc: In member function ‘void vector_tile::Tile_Feature::InternalSwap(vector_tile::Tile_Feature*)’:
Release/obj/gen/vector_tile.pb.cc:1103:35: error: ‘void google::protobuf::RepeatedField<Element>::InternalSwap(google::protobuf::RepeatedField<Element>*) [with Element = unsigned int]’ is private within this context
   tags_.InternalSwap(&other->tags_);
                                   ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:1192:13: note: declared private here
 inline void RepeatedField<Element>::InternalSwap(RepeatedField* other) {
             ^~~~~~~~~~~~~~~~~~~~~~
Release/obj/gen/vector_tile.pb.cc:1104:43: error: ‘void google::protobuf::RepeatedField<Element>::InternalSwap(google::protobuf::RepeatedField<Element>*) [with Element = unsigned int]’ is private within this context
   geometry_.InternalSwap(&other->geometry_);
                                           ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:1192:13: note: declared private here
 inline void RepeatedField<Element>::InternalSwap(RepeatedField* other) {
             ^~~~~~~~~~~~~~~~~~~~~~
Release/obj/gen/vector_tile.pb.cc: In member function ‘virtual bool vector_tile::Tile_Layer::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)’:
Release/obj/gen/vector_tile.pb.cc:1392:37: error: no matching function for call to ‘NewPermanentCallback(google::protobuf::internal::InternalMetadataWithArenaLite*, std::basic_string<char>* (google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>::*)())’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note: candidate: google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)())
 inline Closure* NewPermanentCallback(void (*function)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note:   candidate expects 1 argument, 2 provided
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note: candidate: template<class Class> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)())
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note: candidate: template<class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(void (*function)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘void(Arg1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note: candidate: template<class Class, class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note: candidate: template<class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(void (*function)(Arg1, Arg2),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘void(Arg1, Arg2)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note: candidate: template<class Class, class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note: candidate: template<class R> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)())
 inline ResultCallback<R>* NewPermanentCallback(R (*function)()) {
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘R()’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note: candidate: template<class R, class P1> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)(P1), P1)
 inline ResultCallback<R>* NewPermanentCallback(
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘R(P1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note: candidate: template<class R, class A1> google::protobuf::ResultCallback1<R, Arg1>* google::protobuf::NewPermanentCallback(R (*)(A1))
 inline ResultCallback1<R, A1>* NewPermanentCallback(R (*function)(A1)) {
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘R(A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note: candidate: template<class R, class P1, class A1> google::protobuf::ResultCallback1<R, A1>* google::protobuf::NewPermanentCallback(R (*)(P1, A1), P1)
 inline ResultCallback1<R, A1>* NewPermanentCallback(
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   mismatched types ‘R(P1, A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note: candidate: template<class R, class T, class P1, class P2, class P3, class P4, class P5, class A1, class A2> google::protobuf::ResultCallback2<R, A1, A2>* google::protobuf::NewPermanentCallback(T*, R (T::*)(P1, P2, P3, P4, P5, A1, A2), typename google::protobuf::internal::InternalConstRef<P1>::type, typename google::protobuf::internal::InternalConstRef<P2>::type, typename google::protobuf::internal::InternalConstRef<P3>::type, typename google::protobuf::internal::InternalConstRef<P4>::type, typename google::protobuf::internal::InternalConstRef<P5>::type)
 inline ResultCallback2<R, A1, A2>* NewPermanentCallback(
                                    ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:1392:37: note:   deduced conflicting types for parameter ‘T’ (‘google::protobuf::internal::InternalMetadataWithArenaLite’ and ‘google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>’)
               mutable_unknown_fields));
                                     ^
Release/obj/gen/vector_tile.pb.cc: In member function ‘void vector_tile::Tile_Layer::InternalSwap(vector_tile::Tile_Layer*)’:
Release/obj/gen/vector_tile.pb.cc:1694:43: error: ‘void google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap(google::protobuf::internal::RepeatedPtrFieldBase*)’ is protected within this context
   features_.InternalSwap(&other->features_);
                                           ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:2247:6: note: declared protected here
 void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other) {
      ^~~~~~~~~~~~~~~~~~~~
Release/obj/gen/vector_tile.pb.cc:1695:35: error: ‘void google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap(google::protobuf::internal::RepeatedPtrFieldBase*)’ is protected within this context
   keys_.InternalSwap(&other->keys_);
                                   ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:2247:6: note: declared protected here
 void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other) {
      ^~~~~~~~~~~~~~~~~~~~
Release/obj/gen/vector_tile.pb.cc:1696:39: error: ‘void google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap(google::protobuf::internal::RepeatedPtrFieldBase*)’ is protected within this context
   values_.InternalSwap(&other->values_);
                                       ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:2247:6: note: declared protected here
 void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other) {
      ^~~~~~~~~~~~~~~~~~~~
Release/obj/gen/vector_tile.pb.cc: In member function ‘virtual bool vector_tile::Tile::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)’:
Release/obj/gen/vector_tile.pb.cc:2025:37: error: no matching function for call to ‘NewPermanentCallback(google::protobuf::internal::InternalMetadataWithArenaLite*, std::basic_string<char>* (google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>::*)())’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note: candidate: google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)())
 inline Closure* NewPermanentCallback(void (*function)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:392:17: note:   candidate expects 1 argument, 2 provided
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note: candidate: template<class Class> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)())
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)()) {
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:404:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note: candidate: template<class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(void (*function)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:417:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘void(Arg1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note: candidate: template<class Class, class Arg1> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1), Arg1)
 inline Closure* NewPermanentCallback(Class* object, void (Class::*method)(Arg1),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:431:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note: candidate: template<class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(void (*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(void (*function)(Arg1, Arg2),
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:446:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘void(Arg1, Arg2)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note: candidate: template<class Class, class Arg1, class Arg2> google::protobuf::Closure* google::protobuf::NewPermanentCallback(Class*, void (Class::*)(Arg1, Arg2), Arg1, Arg2)
 inline Closure* NewPermanentCallback(
                 ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:462:17: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘void’ and ‘std::basic_string<char>*’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note: candidate: template<class R> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)())
 inline ResultCallback<R>* NewPermanentCallback(R (*function)()) {
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:477:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘R()’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note: candidate: template<class R, class P1> google::protobuf::ResultCallback<R>* google::protobuf::NewPermanentCallback(R (*)(P1), P1)
 inline ResultCallback<R>* NewPermanentCallback(
                           ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:490:27: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘R(P1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note: candidate: template<class R, class A1> google::protobuf::ResultCallback1<R, Arg1>* google::protobuf::NewPermanentCallback(R (*)(A1))
 inline ResultCallback1<R, A1>* NewPermanentCallback(R (*function)(A1)) {
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘R(A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note: candidate: template<class R, class P1, class A1> google::protobuf::ResultCallback1<R, A1>* google::protobuf::NewPermanentCallback(R (*)(P1, A1), P1)
 inline ResultCallback1<R, A1>* NewPermanentCallback(
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘R(P1, A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note: candidate: template<class R, class T, class P1, class P2, class P3, class P4, class P5, class A1, class A2> google::protobuf::ResultCallback2<R, A1, A2>* google::protobuf::NewPermanentCallback(T*, R (T::*)(P1, P2, P3, P4, P5, A1, A2), typename google::protobuf::internal::InternalConstRef<P1>::type, typename google::protobuf::internal::InternalConstRef<P2>::type, typename google::protobuf::internal::InternalConstRef<P3>::type, typename google::protobuf::internal::InternalConstRef<P4>::type, typename google::protobuf::internal::InternalConstRef<P5>::type)
 inline ResultCallback2<R, A1, A2>* NewPermanentCallback(
                                    ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   deduced conflicting types for parameter ‘T’ (‘google::protobuf::internal::InternalMetadataWithArenaLite’ and ‘google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>’)
               mutable_unknown_fields));
                                     ^
Release/obj/gen/vector_tile.pb.cc: In member function ‘void vector_tile::Tile::InternalSwap(vector_tile::Tile*)’:
Release/obj/gen/vector_tile.pb.cc:2157:39: error: ‘void google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap(google::protobuf::internal::RepeatedPtrFieldBase*)’ is protected within this context
   layers_.InternalSwap(&other->layers_);
                                       ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:2247:6: note: declared protected here
 void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other) {
      ^~~~~~~~~~~~~~~~~~~~
gyp/vector_tile.target.mk:143: recipe for target 'Release/obj.target/vector_tile/gen/vector_tile.pb.o' failed
make[3]: *** [Release/obj.target/vector_tile/gen/vector_tile.pb.o] Error 1
rm gyp_build_gyp_make_vector_tile_target_run_protoc.intermediate
make[3]: Leaving directory '/home/m/3.0.16/mapnik-vector-tile-master/build'
Makefile:21: recipe for target 'build/Makefile' failed
make[2]: *** [build/Makefile] Error 2
make[2]: Leaving directory '/home/m/3.0.16/mapnik-vector-tile-master'
Makefile:34: recipe for target 'release_base' failed
make[1]: *** [release_base] Error 2
make[1]: Leaving directory '/home/m/3.0.16/mapnik-vector-tile-master'
Makefile:25: recipe for target 'release' failed
make: *** [release] Error 2
m@ubuntu:~/3.0.16/mapnik-vector-tile-master$ 

@am2222
Copy link
Author

am2222 commented Feb 18, 2018

@flippmoke
Here it is. I am using ubunto 17.0.4


In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note: candidate: template<class R, class A1> google::protobuf::ResultCallback1<R, Arg1>* google::protobuf::NewPermanentCallback(R (*)(A1))
 inline ResultCallback1<R, A1>* NewPermanentCallback(R (*function)(A1)) {
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:504:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘R(A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note: candidate: template<class R, class P1, class A1> google::protobuf::ResultCallback1<R, A1>* google::protobuf::NewPermanentCallback(R (*)(P1, A1), P1)
 inline ResultCallback1<R, A1>* NewPermanentCallback(
                                ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:517:32: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   mismatched types ‘R(P1, A1)’ and ‘google::protobuf::internal::InternalMetadataWithArenaLite’
               mutable_unknown_fields));
                                     ^
In file included from /home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/common.h:48:0,
                 from Release/obj/gen/vector_tile.pb.h:9,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note: candidate: template<class R, class T, class P1, class P2, class P3, class P4, class P5, class A1, class A2> google::protobuf::ResultCallback2<R, A1, A2>* google::protobuf::NewPermanentCallback(T*, R (T::*)(P1, P2, P3, P4, P5, A1, A2), typename google::protobuf::internal::InternalConstRef<P1>::type, typename google::protobuf::internal::InternalConstRef<P2>::type, typename google::protobuf::internal::InternalConstRef<P3>::type, typename google::protobuf::internal::InternalConstRef<P4>::type, typename google::protobuf::internal::InternalConstRef<P5>::type)
 inline ResultCallback2<R, A1, A2>* NewPermanentCallback(
                                    ^~~~~~~~~~~~~~~~~~~~
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/stubs/callback.h:526:36: note:   template argument deduction/substitution failed:
Release/obj/gen/vector_tile.pb.cc:2025:37: note:   deduced conflicting types for parameter ‘T’ (‘google::protobuf::internal::InternalMetadataWithArenaLite’ and ‘google::protobuf::internal::InternalMetadataWithArenaBase<std::basic_string<char>, google::protobuf::internal::InternalMetadataWithArenaLite>’)
               mutable_unknown_fields));
                                     ^
Release/obj/gen/vector_tile.pb.cc: In member function ‘void vector_tile::Tile::InternalSwap(vector_tile::Tile*)’:
Release/obj/gen/vector_tile.pb.cc:2157:39: error: ‘void google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap(google::protobuf::internal::RepeatedPtrFieldBase*)’ is protected within this context
   layers_.InternalSwap(&other->layers_);
                                       ^
In file included from Release/obj/gen/vector_tile.pb.h:29:0,
                 from Release/obj/gen/vector_tile.pb.cc:5:
/home/m/3.0.16/mapnik/mason_packages/.link/include/google/protobuf/repeated_field.h:2247:6: note: declared protected here
 void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other) {
      ^~~~~~~~~~~~~~~~~~~~
gyp/vector_tile.target.mk:143: recipe for target 'Release/obj.target/vector_tile/gen/vector_tile.pb.o' failed
make[3]: *** [Release/obj.target/vector_tile/gen/vector_tile.pb.o] Error 1
rm gyp_build_gyp_make_vector_tile_target_run_protoc.intermediate
make[3]: Leaving directory '/home/m/3.0.16/mapnik-vector-tile-master/build'
Makefile:21: recipe for target 'build/Makefile' failed
make[2]: *** [build/Makefile] Error 2
make[2]: Leaving directory '/home/m/3.0.16/mapnik-vector-tile-master'
Makefile:34: recipe for target 'release_base' failed
make[1]: *** [release_base] Error 2
make[1]: Leaving directory '/home/m/3.0.16/mapnik-vector-tile-master'
Makefile:25: recipe for target 'release' failed
make: *** [release] Error 2
m@ubuntu:~/3.0.16/mapnik-vector-tile-master$ 

@talaj
Copy link
Contributor

talaj commented Feb 19, 2018

@am2222, what is the version in your vector_tile.pb.h? Cannot there be some conflict with protobuf-compiler from your system?

I see this in my vector_tile.pb.h, for example:

#if GOOGLE_PROTOBUF_VERSION < 3000000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3000000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

@am2222
Copy link
Author

am2222 commented Feb 19, 2018

@talaj Hi,
How can I find its version?sorry for my simple question? As I noticed bootstap.sh tries to download protobuf by itself,doesnt it?

@talaj
Copy link
Contributor

talaj commented Feb 19, 2018

Take a look into Release/obj/gen/vector_tile.pb.h. Also check apt search protobuf-compiler.

I remember I was also facing this error, but cannot remember what was the culprit.

@flippmoke
Copy link
Member

@am2222 yes, by default the make instruction sets a PATH variable that should include your path to a bin in the mason_packages path for protoc.

PATH="`pwd`/mason_packages/.link/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" \

I am wondering if perhaps you have a local protoc installed and this is causing problems.

For example locally for me:

mthompson@flippmoke:~/src/mapnik-vector-tile$ which protoc
/Users/mthompson/src/mapnik-vector-tile/mason_packages/.link/bin/protoc

I wonder if you are pulling back a locally installed protoc in this step rather then ours for some reason.

Also these can be your friends sometime:

make clean

or

make distclean

@am2222
Copy link
Author

am2222 commented Feb 20, 2018

Dear @talaj and @flippmoke thanks for your helps, I tried on ubuntu 17.1 and it worked fine. But I have faced another problem, it does not support make install, I thought I can use this library just like mapnik but it seems it is a bit complicated for me

@flippmoke
Copy link
Member

@am2222 it is a legacy of the library originally being designed as a header only library, but due to compile times was split out into hpp and ipp files. The library still operates as a header only library for use typically. You can see how this works somewhat at the bottom of hpp files: https://github.com/mapbox/mapnik-vector-tile/blob/master/src/vector_tile_processor.hpp#L209-L211

Just write your C++ code and include the hpp files you need and it works.

@am2222
Copy link
Author

am2222 commented Feb 20, 2018

@flippmoke thanks very much for your help

@am2222
Copy link
Author

am2222 commented Feb 22, 2018

@flippmoke Hi,
I investigated a lot but still have problem using it, I also looked at examples but the problem is when I try to make them in their current folder it raises error, I want to use it in Qt,is it possible to let me know which dependencies should I add to my project to be able to use it?
thanks very much

@flippmoke
Copy link
Member

@am2222 I should note that we have prebuilt binaries for mapbox-gl-native with Qt.

Could you provide any sample code or layout? I am not sure exactly what you are doing.

@am2222
Copy link
Author

am2222 commented Feb 22, 2018

@flippmoke Hi,
Thanks very much for your help
In fact I just want to save my maps which are rendered by mapnik as vector tiles, So I am working on an app which gets x,y,z and then extracts the related extent and then generates related map using mapnik.xml file and converts it to a vector tile. I added all header files from src folder plus vector_tile_pb.h and added mapnik and protobuf as libraries but some of headers in src folder needs for example agg to be referenced . I am totally confused with it, if it is compiled on my system why it says those files does not exists
for example the current error is

/home/m/untitled2/src/vector_tile_raster_clipper.ipp:12: error: agg_rendering_buffer.h: No such file or directory
 #include "agg_rendering_buffer.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~

I have also attached my application. the main source code is as

#include <iostream>
#include <fstream>
#include <string>
#include <boost/filesystem.hpp>
#include <vector>

// mapnik
#include <mapnik/map.hpp>
#include <mapnik/load_map.hpp>
#include <mapnik/value_error.hpp>
#include <mapnik/datasource_cache.hpp>
#include <mapnik/box2d.hpp>
#include <mapnik/proj_transform.hpp>
#include <mapnik/image_util.hpp>

// mapnik vector tiles generation
#include <vector_tile.pb.h>
#include <vector_tile_projection.hpp>
#include <vector_tile_processor.hpp>
#include <vector_tile_backend_pbf.hpp>
#include <vector_tile_datasource.hpp>
#include <vector_tile_util.hpp>
#include <vector_tile_compression.hpp>

using namespace std;
using namespace mapnik;

static int compression = 0;
static int tile_size = 256;

void create_tiles(int z, int maxz, int x, int y, Map tile_map) ;
void create_single_tile(int z, int x, int y, Map tile_map) ;
void create_path(int z, int x) ;

int main (int argc, char* argv[]) {
    int minz, maxz, x, y;
    string style_path;

    for (int i=0 ; i<argc ; i++){
        if (compression)
            argv[i - compression] = argv[i];
        if (strncmp(argv[i], "--compress", 10) == 0)
            compression ++;
    }

    if (argc != 6 && argc != 7) {
        clog << "command: " << argv[0] << "[--compress] minz maz x y path/to/stylesheet.xml\n";
        clog << "    where x and y are the values at the minz zoom_level\n";
        return EXIT_FAILURE;
    }

    minz = atoi(argv[1]);
    maxz = atoi(argv[2]);
    x = atoi(argv[3]);
    y = atoi(argv[4]);
    style_path = argv[5];

    //add plugins to be able to load the shapefile (and also other formats) in load_map()
    datasource_cache::instance().register_datasources("/usr/lib/mapnik/input/");

    GOOGLE_PROTOBUF_VERIFY_VERSION;

    // initialize map with the data
    Map tile_map(tile_size, tile_size, "900913");
    load_map(tile_map, style_path, true);

    create_path(minz, x);
    create_tiles(maxz, minz, x, y, tile_map);
    cout << "Tiles created.\n";

    google::protobuf::ShutdownProtobufLibrary();

    return EXIT_SUCCESS;
}

/*
    create the directories where the tiles will be generated
*/
void create_path(int z, int x) {
    string pathname = to_string(z) + "/" + to_string(x);
    boost::filesystem::path path(pathname);
    boost::filesystem::create_directories(pathname);
}

/*
    create all tiles and paths recursively
*/
void create_tiles(int maxz, int z, int x, int y, Map tile_map) {

    //create the current tile
    create_single_tile(z, x, y, tile_map);

    if (z+1 <= maxz) {
        create_path(z+1, 2*x);
        create_path(z+1, 2*x+1);

        //recursively create the four subtiles (at the next zoom level) of this tile
        create_tiles(maxz, z+1, 2*x,   2*y  , tile_map);
        create_tiles(maxz, z+1, 2*x+1, 2*y  , tile_map);
        create_tiles(maxz, z+1, 2*x,   2*y+1, tile_map);
        create_tiles(maxz, z+1, 2*x+1, 2*y+1, tile_map);
    }
}

/*
    creation of a single tile
*/
void create_single_tile(int z, int x, int y, Map tile_map) {
    int path_multiplier = 16;
    double minx, miny, maxx, maxy;
    string buffer, compressed;

    // bounding box
    mapnik::vector_tile_impl::spherical_mercator merc(tile_size);
    merc.xyz(x, y, z, minx, miny, maxx, maxy);

    box2d<double> bbox;
    bbox.init(minx, miny, maxx, maxy);

    tile_map.zoom_to_box(bbox);

    vector_tile::Tile tile;
    mapnik::vector_tile_impl::backend_pbf backend(tile, path_multiplier);
    request mapnik_request(tile_size, tile_size, bbox);
    mapnik::vector_tile_impl::processor<mapnik::vector_tile_impl::backend_pbf> ren(backend, tile_map, mapnik_request);

    ren.apply();

    tile.SerializeToString(&buffer);
    if (compression) {
        mapnik::vector_tile_impl::zlib_compress(buffer, compressed);
        buffer = compressed;
        cout << "Creating compressed tile for z = " << z << " ; x = " << x << " ; y = " << y << "\n" ;
    } else {
        cout << "Creating tile for z = " << z << " ; x = " << x << " ; y = " << y << "\n";
    }
    ofstream output(to_string(z) + "/" + to_string(x) + "/" + to_string(y) + ".pbf");
    output << buffer ;
}


which I have downloaded from github

vectortileGenerator.zip

@flippmoke
Copy link
Member

@am2222 Have you seen https://github.com/mapbox/tippecanoe ?

Some notes on your code here -- you have a lot going on here you don't need.

First you have no need for #include <vector_tile.pb.h> -- this is the protobuffer stuff we use in our tests only here, you see it sprinkled elsewhere because sometime in the past we moved from libprotobuf -> protozero. Protozero is our specially designed header only library for parsing protobufs and its a lot faster then libprotobuf from google. Drop all the google protobuf code.

You really just need to do something like this - https://github.com/mapbox/mapnik-vector-tile/blob/master/test/vector_tile.cpp#L50-L58

    unsigned tile_size = 4096;
    mapnik::Map tile_map(tile_size, tile_size, "+init=epsg:3857");
    mapnik::load_map(tile_map, style_path, true);
    mapnik::vector_tile_impl::processor ren(tile_map);
    int x = 0;
    int y = 0;
    int z = 0;
    mapnik::vector_tile_impl::tile out_tile = ren.create_tile(x,y,z,tile_size);
    std::string buffer = out_tile.get_buffer();

@am2222
Copy link
Author

am2222 commented Feb 23, 2018

Dear @flippmoke thanks very much for your help but I have faced a bad problem here, in vector_tile_processor.h threre is a reference to vector_tile_raster_clipper which has a reference to agg_rendering_buffer.h I tried to use sudo apt-get install libagg-dev but it is already installed on my system. I Have added these libraries in my build file

SOURCES += main.cpp \
    vector_tile_processor.cpp \
    vector_tile_geometry_decoder.cpp \
    vector_tile_datasource_pbf.cpp \
    vector_tile_tile.cpp

LIBS += -L$$PWD/../../../usr/local/lib/ -lmapnik
LIBS += -L$$PWD/../../../usr/local/lib/ -lharfbuzz



INCLUDEPATH += $$PWD/../../../usr/local/include
DEPENDPATH += $$PWD/../../../usr/local/include

HEADERS += \
    vector_tile_processor.hpp \
    vector_tile_geometry_decoder.hpp \
    vector_tile_datasource_pbf.hpp \
    vector_tile_tile.hpp \
    vector_tile_merc_tile.hpp \
    vector_tile_config.hpp \
    vector_tile_processor.ipp \
    vector_tile_layer.ipp \
    vector_tile_geometry_encoder_pbf.ipp \
    vector_tile_geometry_decoder.ipp \
    vector_tile_featureset_pbf.ipp \
    vector_tile_datasource_pbf.ipp \
    vector_tile_compression.ipp \
    vector_tile_geometry_clipper.hpp

 LIBS += -lagg
LIBS+=-L/home/m/3.0.16/mason_packages/.link/lib -L/home/m/3.0.16/mason_packages/linux-x86_64/libgdal/2.1.3/lib -pthread -lboost_filesystem -lboost_regex -lcairo -lpixman-1 -lpng -lproj -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -licudata -lz -ldl

Can you please give me some hints about it?thanks

@flippmoke
Copy link
Member

Use the agg from mapnik: https://github.com/mapnik/mapnik/tree/master/deps/agg
If you have mapnik installed correctly, I suggest you use mapnik-config

For example:

mapnik-config --libs

or

mapnik-config --includes

@am2222
Copy link
Author

am2222 commented Feb 24, 2018

@flippmoke Thanks very much for your help, I finally could manage to fix dependencies problem, but Can you please give me some details about tile.ParseFromString(out_tile.get_buffer()); It seems it does not exists in headers.

/home/m/untitled4/main.cpp:72: error: no member named 'ParseFromString' in 'mapnik::vector_tile_impl::tile'
      tile2.ParseFromString(buffer);
      ~~~~~ ^
// vector output api
#include "vector_tile_compression.hpp"
#include "vector_tile_strategy.hpp"
#include "vector_tile_projection.hpp"
#include "vector_tile_datasource_pbf.hpp"
// mapnik-vector-tile
#include "vector_tile_processor.hpp"
#include "vector_tile_geometry_decoder.hpp"
#include "vector_tile_datasource_pbf.hpp"

Do I missed any other includes?

@flippmoke
Copy link
Member

tile.ParseFromString

That function and that part of the code are simply convience functions that we have using from libprotobuf and its created header that I told you we don't need. If you look at the test case example code I linked after that short set of code that I outlined above all the rest is simply checking the test results. You simply need the out_tile.get_buffer() <-- the is the resulting vector tile.

@am2222
Copy link
Author

am2222 commented Feb 24, 2018

@flippmoke thanks, In fact I am now converting my maps to vector tiles but if I want to render them back to maps I saw this code was used to


mapnik::Map map(tile_size,tile_size,"+init=epsg:3857");
mapnik::vector_tile_impl::tile tile2=ren.create_tile(x,y,z,tile_size);;
tile2.ParseFromString(buffer);
 std::shared_ptr<mapnik::vector_tile_impl::tile_datasource_pbf> ds
      = std::make_shared<mapnik::vector_tile_impl::tile_datasource_pbf>(layer_reader,0,0,0);
  lyr2.set_datasource(ds);
 lyr2.add_style("style");
 map.add_layer(lyr2);
mapnik::load_map(map,"/home/m/vectorTiles/mapnik-vector-tile-3.0.x/test/data/polygon-style.xml");
 map.zoom_all();
mapnik::image_rgba8 im(map.width(),map.height());
 mapnik::agg_renderer<mapnik::image_rgba8> rend(map,im);
rend.apply();
mapnik::save_to_file(im,"rasterize-expected-1.png","png32");

But I have faced the problem that this function does not exist.

@flippmoke
Copy link
Member

If you had a std::string variable named buffer (your vector tile) you would do the following to go the other way back to an image.

int x = 0;
int y = 0;
int z = 0;
protozero::pbf_reader pbf_layer(buffer);
// Create datasource
std::shared_ptr<mapnik::vector_tile_impl::tile_datasource_pbf> ds
      = std::make_shared<mapnik::vector_tile_impl::tile_datasource_pbf>(pbf_layer,x,y,z);

// Create map
mapnik::Map map(256,256,"+init=epsg:3857");
// Load XML with style
mapnik::load_map(map,"/home/m/vectorTiles/mapnik-vector-tile-3.0.x/test/data/polygon-style.xml");

// Create layer
mapnik::layer lyr2("layer",map.srs());
lyr2.set_datasource(ds);
lyr2.add_style("style"); // name of style from xml

// Add layer to map
map.add_layer(lyr2);
map.zoom_all();

// Output image setup
mapnik::image_rgba8 im(map.width(),map.height());

// create renderer and run it
mapnik::agg_renderer<mapnik::image_rgba8> rend(map,im);
rend.apply();

// save updated image to file path
mapnik::save_to_file(im,"rasterize-expected-1.png","png32");

@am2222
Copy link
Author

am2222 commented Feb 27, 2018

thanks very much dear @flippmoke

@am2222
Copy link
Author

am2222 commented Mar 1, 2018

@flippmoke Thanks very much for your helps, I thinks I am missing sth in converting to Vector tiles, When I want to covert a buffer to mapnik image I face this error

The required name field is missing in a vector tile layer.

Is this because of not adding style name into layer?or it is sth wrong with converting mapnik map to vector tile?

in my input map xml I have set layer names

<Layer name="landuse_gen1"
  status="on"
  srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
    <StyleName>landuse_gen1</StyleName>
    <Datasource>
       <Parameter name="file"><![CDATA[country/mapnik.sqlite]]></Parameter>
       <Parameter name="geometry_field"><![CDATA[geometry]]></Parameter>
       <Parameter name="id"><![CDATA[landuse_gen1]]></Parameter>
       <Parameter name="initdb"><![CDATA[PRAGMA cache_size = -20480;]]></Parameter>
       <Parameter name="key_field"><![CDATA[rowid]]></Parameter>
       <Parameter name="metadata"><![CDATA[mapnik_metadata]]></Parameter>
       <Parameter name="project"><![CDATA[osm-bright-spatialite]]></Parameter>
       <Parameter name="table"><![CDATA[( SELECT rowid, geometry, type
  FROM osm_landusages_gen1
  ORDER BY area DESC
) AS data]]></Parameter>
       <Parameter name="type"><![CDATA[sqlite]]></Parameter>
       <Parameter name="use_spatial_index"><![CDATA[true]]></Parameter>
       <Parameter name="wkb_format"><![CDATA[twkb]]></Parameter>
    </Datasource>
  </Layer>

The output buffer is attached to this post, Is not possible to make it human readable?
test.txt

@am2222
Copy link
Author

am2222 commented Mar 5, 2018

@flippmoke is not this problem because of this fact that my map which I am converting to vector tiles consists of about 8 layers? can you please give me some hints about this problem?thanks

@flippmoke
Copy link
Member

@am2222 for some reason the vector tile you are creating is not proper, so this is something during your creation process.

@am2222
Copy link
Author

am2222 commented Mar 7, 2018

@flippmoke thanks very much, I am now trying to just use one layer I hope the problem fixes,thanks

@am2222
Copy link
Author

am2222 commented Mar 13, 2018

@flippmoke Hi,
I think there is sth wrong with my creation process as I tried with singapour.shp and it also returned this error, Can you please help me about this problem?
I am generating vector tiles using this method


     std::string  compressed;
     mapnik::Map mm(tile_size, tile_size, "+init=epsg:3857");
     mapnik::load_map(mm, "/home/m/vectorTiles/mapnik-vector-tile-3.0.x/test/data/singapore.xml", true);
    mapnik::layer l =mm.get_layer(0);
    std::cout <<  l.name();
   mapnik::vector_tile_impl::processor ren(mm);
   x=1;
   y=1;
   z=0;
   mapnik::vector_tile_impl::tile out_tile = ren.create_tile(x,y,z,tile_size);
    mm.zoom_to_box(out_tile.extent());
     mm.zoom_all();
     mapnik::image_rgba8 buf1(mm.width(),mm.height());
    mapnik::agg_renderer<mapnik::image_rgba8> ren1(mm,buf1);
    ren1.apply();
#ifdef HAVE_PNG
         mapnik::save_to_file(buf1,"2.png","png");
#endif
    std::vector<std::string> ls =out_tile.get_layers();
    std::string buffer = out_tile.get_buffer();
    mapnik::vector_tile_impl::zlib_compress(buffer, compressed);
    protozero::pbf_reader pbf_layer(buffer);
    // Create datasource
    std::shared_ptr<mapnik::vector_tile_impl::tile_datasource_pbf> ds
          = std::make_shared<mapnik::vector_tile_impl::tile_datasource_pbf>(pbf_layer,x,y,z);
    // Create map
    mapnik::Map map(256,256,"+init=epsg:3857");
    // Load XML with style
    mapnik::load_map(map,"/home/m/3.0.16/demo/c++/osmbright_style.xml");
    // Create layer
    mapnik::layer lyr2("layer",map.srs());
    lyr2.set_name("test_name");
    lyr2.set_datasource(ds);
    lyr2.add_style("landuse_gen1");
    lyr2.add_style("style");
    // Add layer to map
    map.add_layer(lyr2);
    map.zoom_all();
    // Output image setup
    mapnik::image_rgba8 im(map.width(),map.height());
    // create renderer and run it
    mapnik::agg_renderer<mapnik::image_rgba8> rend(map,im);
    rend.apply();
    // save updated image to file path
    mapnik::save_to_file(im,"rasterize-expected-1.png","png32");

my xml file is as following

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map[]>
<Map srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over" maximum-extent="-20037508.34,-20037508.34,20037508.34,20037508.34">
  <Parameters>
    <Parameter name="center">103.92383995989066,1.3312732063470314,0</Parameter>
    <Parameter name="bounds">103.92116959172444,1.3293149668842956,103.92651032805688,1.3332314458097674</Parameter>
    <Parameter name="format">pbf</Parameter>
    <Parameter name="json"><![CDATA[{"vector_layers":[{"id":"zika_cluster","description":"","minzoom":0,"maxzoom":22,"fields":{"OBJECTID":"Number","LOCALITY":"String","CASE_SIZE":"Number","NAME":"String","HYPERLINK":"String","CLUSTER_ID":"String","INC_CRC":"String","FMEL_UPD_D":"String","X_ADDR":"Number","Y_ADDR":"Number","SHAPE_Leng":"Number","SHAPE_Area":"Number"}}]}]]></Parameter>
    <Parameter name="maxzoom">15</Parameter>
    <Parameter name="minzoom">0</Parameter>
  </Parameters>
<Style name="style">
    <Rule>
        <PolygonSymbolizer fill="red" />
    </Rule>
</Style>
  <Layer name="zika_cluster" buffer-size="8" srs="+proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m +no_defs">
<StyleName>style</StyleName>
    <Datasource>
      <Parameter name="type">shape</Parameter>
      <Parameter name="file">singapore.shp</Parameter>
      <Parameter name="layer">zika_cluster</Parameter>
    </Datasource>
  </Layer>
</Map>

2

this is rendered map, so the input xml is fine. But when I want to convert buffer it returns

The required name field is missing in a vector tile layer.
but layer in xml has a name, What is my mistake? I am using 3.0.x version ,Can you please help me find a solution? It is a few weeks which I am working on this error but could not find any solutions. thanks

@flippmoke
Copy link
Member

I believe I provided bad information here, the pbf_layer needs to be created from the layer's buffer not from the entire vector tile's buffer. You will want to use one of these two methods to get that from the tile object:

https://github.com/mapbox/mapnik-vector-tile/blob/master/src/vector_tile_tile.hpp#L198

@am2222
Copy link
Author

am2222 commented Mar 14, 2018

@flippmoke thanks very much, So you mean I have to convert std::string buffer = out_tile.get_buffer(); which I have got from vector tile into separate layers?
I have to look for a method to convert a vector tiles buffer into a tile object
I tried to find related methods to convert an string into tile and get related layers but could not find any, Is it even possible?or I have to convert each layer into a single vector tile?

@am2222
Copy link
Author

am2222 commented Mar 14, 2018

@flippmoke well I figure out and find mu mistake, but I still have problem about converting a vector tile which is in string format to tile object, I could not find its related classes yet

@am2222
Copy link
Author

am2222 commented Mar 15, 2018

@flippmoke The only function which I found in tests to convert a string buffer to a tile object is

vector_tile::Tile tile; tile.ParseFromString(out_tile.get_buffer());

this function is in #include "vector_tile.pb.h" which you said is not useful in current version, What other options exists in order to convert an string to tile?

@am2222
Copy link
Author

am2222 commented Mar 15, 2018

I tried this method and it seems it finally worked, I have no idea if it is a good solution or not

       // Create map
       mapnik::Map map(256,256,"+init=epsg:3857");
       // Load XML with style
       mapnik::load_map(map,"/home/m/3.0.16/demo/c++/osm_bright_style.xml");

       mapnik::vector_tile_impl::processor ren2(map);
       //mapnik::vector_tile_impl::tile out_tile2 = ren2.create_tile(x,y,z,tile_size);


       mapnik::vector_tile_impl::merc_tile out_tile3 = ren2.create_tile(x,y,z,tile_size);

       mapnik::vector_tile_impl::merge_from_buffer(out_tile3,buffer.c_str(),buffer.size());

@springmeyer
Copy link
Contributor

Looks like this is resolved, so closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants