Closed am2222 closed 6 years ago
@am2222 what OS are you using, does running make
simply not work. In MVT - only for the tests do we use protobuf
library directly.
@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.
@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.
@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$
@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$
@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
@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?
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.
@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
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
@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.
@flippmoke thanks very much for your help
@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
@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.
@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
@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();
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
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
@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?
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.
@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.
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");
thanks very much dear @flippmoke
@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
@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
@am2222 for some reason the vector tile you are creating is not proper, so this is something during your creation process.
@flippmoke thanks very much, I am now trying to just use one layer I hope the problem fixes,thanks
@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>
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
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
@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?
@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
@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
?
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());
Looks like this is resolved, so closing this issue.
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?