mapbox-gl-native
mapbox-gl-native copied to clipboard
Compilation from sources fails
Compilation fails with an error at 99%.
Here is a Dockerfile to reproduce:
FROM debian:latest
RUN apt-get update \
&& apt-get dist-upgrade -y \
&& apt-get autoremove --purge -y && apt-get clean
RUN apt-get install -y \
build-essential \
libcurl4-openssl-dev \
libgl1-mesa-dev \
libgles2-mesa-dev \
libglfw3-dev \
libicu-dev \
libjpeg62-turbo-dev \
libpng-dev \
libuv1-dev \
zlib1g-dev \
pkg-config \
&& apt-get autoremove --purge -y && apt-get clean
RUN apt-get -y install cmake
RUN apt-get -y install git npm curl
RUN npm install -g n
RUN n 12
RUN node -v
RUN git clone https://github.com/mapbox/mapbox-gl-native
WORKDIR /mapbox-gl-native
RUN git submodule update --init --recursive
RUN npm update
RUN cmake . -B build
RUN cmake --build build
Error log
In file included from /mapbox-gl-native/build/headers/nan/2.10.0/nan_converters.h:67,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:202,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan_converters_43_inl.h: In static member function 'static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan_converters_43_inl.h:22:1: error: no matching function for call to 'v8::Value::ToBoolean(v8::Local<v8::Context>)'
X(Boolean)
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2894:18: note: candidate: 'v8::Local<v8::Boolean> v8::Value::ToBoolean(v8::Isolate*) const'
Local<Boolean> ToBoolean(Isolate* isolate) const;
^~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2894:18: note: no known conversion for argument 1 from 'v8::Local<v8::Context>' to 'v8::Isolate*'
In file included from /mapbox-gl-native/build/headers/nan/2.10.0/nan_converters.h:67,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:202,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan_converters_43_inl.h: In static member function 'static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan_converters_43_inl.h:40:1: error: no matching function for call to 'v8::Value::BooleanValue(v8::Local<v8::Context>)'
X(bool, Boolean)
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2904:8: note: candidate: 'bool v8::Value::BooleanValue(v8::Isolate*) const'
bool BooleanValue(Isolate* isolate) const;
^~~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2904:8: note: no known conversion for argument 1 from 'v8::Local<v8::Context>' to 'v8::Isolate*'
In file included from /mapbox-gl-native/build/headers/nan/2.10.0/nan_new.h:189,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:203,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan_implementation_12_inl.h: In static member function 'static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan_implementation_12_inl.h:105:32: error: no matching function for call to 'v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)'
, obj));
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:4491:31: note: candidate: 'static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)'
static MaybeLocal<Function> New(
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:4491:31: note: no known conversion for argument 1 from 'v8::Isolate*' to 'v8::Local<v8::Context>'
In file included from /mapbox-gl-native/build/headers/nan/2.10.0/nan_new.h:189,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:203,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan_implementation_12_inl.h: In static member function 'static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan_implementation_12_inl.h:337:37: error: no matching function for call to 'v8::StringObject::New(v8::Local<v8::String>&)'
return v8::StringObject::New(value).As<v8::StringObject>();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:5900:23: note: candidate: 'static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)'
static Local<Value> New(Isolate* isolate, Local<String> value);
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:5900:23: note: candidate expects 2 arguments, 1 provided
In file included from /mapbox-gl-native/build/headers/nan/2.10.0/nan_new.h:189,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:203,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan_implementation_12_inl.h:337:58: error: expected primary-expression before '>' token
return v8::StringObject::New(value).As<v8::StringObject>();
^
/mapbox-gl-native/build/headers/nan/2.10.0/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ')' token
return v8::StringObject::New(value).As<v8::StringObject>();
^
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h: In constructor 'Nan::Utf8String::Utf8String(v8::Local<v8::Value>)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1034:53: error: no matching function for call to 'v8::Value::ToString()'
v8::Local<v8::String> string = from->ToString();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2856:44: note: candidate: 'v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
^~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2856:44: note: candidate expects 1 argument, 0 provided
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1044:74: error: no matching function for call to 'v8::String::WriteUtf8(char*&, int, int, const int&)'
length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3083:7: note: candidate: 'int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const'
int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
^~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3083:7: note: no known conversion for argument 1 from 'char*' to 'v8::Isolate*'
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h: In member function 'void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1818:64: error: no matching function for call to 'v8::Object::Set(v8::Local<v8::String>, const v8::Local<v8::Value>&)'
New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate expects 3 arguments, 2 provided
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate expects 3 arguments, 2 provided
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h: In member function 'void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1824:42: error: no matching function for call to 'v8::Object::Set(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)'
New(persistentHandle)->Set(key, value);
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate expects 3 arguments, 2 provided
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate expects 3 arguments, 2 provided
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h: In member function 'void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)':
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1830:44: error: no matching function for call to 'v8::Object::Set(uint32_t&, const v8::Local<v8::Value>&)'
New(persistentHandle)->Set(index, value);
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate expects 3 arguments, 2 provided
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate expects 3 arguments, 2 provided
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h: In member function 'v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const':
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1836:61: error: no matching function for call to 'v8::Object::Get(v8::Local<v8::String>)'
New(persistentHandle)->Get(New(key).ToLocalChecked()));
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3763:43: note: candidate: 'v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3763:43: note: candidate expects 2 arguments, 1 provided
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3766:43: note: candidate: 'v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)'
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3766:43: note: candidate expects 2 arguments, 1 provided
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h: In member function 'v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const':
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1842:55: error: no matching function for call to 'v8::Object::Get(const v8::Local<v8::String>&)'
return scope.Escape(New(persistentHandle)->Get(key));
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3763:43: note: candidate: 'v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3763:43: note: candidate expects 2 arguments, 1 provided
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3766:43: note: candidate: 'v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)'
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3766:43: note: candidate expects 2 arguments, 1 provided
In file included from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h: In member function 'v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const':
/mapbox-gl-native/build/headers/nan/2.10.0/nan.h:1847:57: error: no matching function for call to 'v8::Object::Get(uint32_t&)'
return scope.Escape(New(persistentHandle)->Get(index));
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3763:43: note: candidate: 'v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3763:43: note: candidate expects 2 arguments, 1 provided
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3766:43: note: candidate: 'v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)'
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3766:43: note: candidate expects 2 arguments, 1 provided
In file included from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:2657,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/nan/2.10.0/nan_object_wrap.h: In member function 'void Nan::ObjectWrap::MakeWeak()':
/mapbox-gl-native/build/headers/nan/2.10.0/nan_object_wrap.h:67:18: error: 'class Nan::Persistent<v8::Object>' has no member named 'MarkIndependent'
persistent().MarkIndependent();
^~~~~~~~~~~~~~~
In file included from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/platform/node/src/node_conversion.hpp: In static member function 'static mbgl::optional<bool> mbgl::style::conversion::ConversionTraits<v8::Local<v8::Value> >::toBool(const v8::Local<v8::Value>&)':
/mapbox-gl-native/platform/node/src/node_conversion.hpp:82:36: error: no matching function for call to 'v8::Value::BooleanValue()'
return value->BooleanValue();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2904:8: note: candidate: 'bool v8::Value::BooleanValue(v8::Isolate*) const'
bool BooleanValue(Isolate* isolate) const;
^~~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2904:8: note: candidate expects 1 argument, 0 provided
In file included from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/platform/node/src/node_conversion.hpp: In static member function 'static mbgl::optional<float> mbgl::style::conversion::ConversionTraits<v8::Local<v8::Value> >::toNumber(const v8::Local<v8::Value>&)':
/mapbox-gl-native/platform/node/src/node_conversion.hpp:90:35: error: no matching function for call to 'v8::Value::NumberValue()'
return value->NumberValue();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate: 'v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate expects 1 argument, 0 provided
In file included from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/platform/node/src/node_conversion.hpp: In static member function 'static mbgl::optional<double> mbgl::style::conversion::ConversionTraits<v8::Local<v8::Value> >::toDouble(const v8::Local<v8::Value>&)':
/mapbox-gl-native/platform/node/src/node_conversion.hpp:98:35: error: no matching function for call to 'v8::Value::NumberValue()'
return value->NumberValue();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate: 'v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate expects 1 argument, 0 provided
In file included from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/platform/node/src/node_conversion.hpp: In static member function 'static mbgl::optional<mapbox::feature::value> mbgl::style::conversion::ConversionTraits<v8::Local<v8::Value> >::toValue(const v8::Local<v8::Value>&)':
/mapbox-gl-native/platform/node/src/node_conversion.hpp:117:55: error: no matching function for call to 'v8::Value::Uint32Value()'
return { std::uint64_t(value->Uint32Value()) };
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2912:41: note: candidate: 'v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2912:41: note: candidate expects 1 argument, 0 provided
In file included from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/platform/node/src/node_conversion.hpp:117:58: error: could not convert '{<expression error>}' from '<brace-enclosed initializer list>' to 'mbgl::optional<mapbox::feature::value>' {aka 'std::experimental::optional<mapbox::feature::value>'}
return { std::uint64_t(value->Uint32Value()) };
^
/mapbox-gl-native/platform/node/src/node_conversion.hpp:119:53: error: no matching function for call to 'v8::Value::Int32Value()'
return { std::int64_t(value->Int32Value()) };
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2915:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2915:40: note: candidate expects 1 argument, 0 provided
In file included from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/platform/node/src/node_conversion.hpp:119:56: error: could not convert '{<expression error>}' from '<brace-enclosed initializer list>' to 'mbgl::optional<mapbox::feature::value>' {aka 'std::experimental::optional<mapbox::feature::value>'}
return { std::int64_t(value->Int32Value()) };
^
/mapbox-gl-native/platform/node/src/node_conversion.hpp:121:41: error: no matching function for call to 'v8::Value::NumberValue()'
return { value->NumberValue() };
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate: 'v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate expects 1 argument, 0 provided
In file included from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/platform/node/src/node_conversion.hpp:121:43: error: could not convert '{<expression error>}' from '<brace-enclosed initializer list>' to 'mbgl::optional<mapbox::feature::value>' {aka 'std::experimental::optional<mapbox::feature::value>'}
return { value->NumberValue() };
^
/mapbox-gl-native/platform/node/src/node_conversion.hpp: In static member function 'static mbgl::optional<mapbox::util::variant<mapbox::geometry::geometry<double, std::vector>, mapbox::feature::feature<double>, mapbox::feature::feature_collection<double, std::vector> > > mbgl::style::conversion::ConversionTraits<v8::Local<v8::Value> >::toGeoJSON(const v8::Local<v8::Value>&, mbgl::style::conversion::Error&)':
/mapbox-gl-native/platform/node/src/node_conversion.hpp:130:82: error: no matching function for call to 'v8::Value::ToObject()'
std::string string = *Nan::Utf8String(JSON.Stringify(value->ToObject()).ToLocalChecked());
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate: 'v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp: In static member function 'static void node_mbgl::NodeExpression::Init(v8::Local<v8::Object>)':
/mapbox-gl-native/platform/node/src/node_expression.cpp:33:40: error: no matching function for call to 'v8::FunctionTemplate::GetFunction()'
constructor.Reset(tpl->GetFunction()); // what is this doing?
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:6497:46: note: candidate: 'v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)'
V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:6497:46: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp:34:80: error: no matching function for call to 'v8::FunctionTemplate::GetFunction()'
Nan::Set(target, Nan::New("Expression").ToLocalChecked(), tpl->GetFunction());
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:6497:46: note: candidate: 'v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)'
V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:6497:46: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp: In function 'mbgl::style::expression::type::Type node_mbgl::parseType(v8::Local<v8::Object>)':
/mapbox-gl-native/platform/node/src/node_expression.cpp:49:51: error: no matching function for call to 'v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>&)'
std::string kind(*v8::String::Utf8Value(v8kind));
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3333:5: note: candidate: 'v8::String::Utf8Value::Utf8Value(v8::Isolate*, v8::Local<v8::Value>)'
Utf8Value(Isolate* isolate, Local<v8::Value> obj);
^~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3333:5: note: candidate expects 2 arguments, 1 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp:52:122: error: no matching function for call to 'v8::Value::ToObject()'
type::Type itemType = parseType(Nan::Get(type, Nan::New("itemType").ToLocalChecked()).ToLocalChecked()->ToObject());
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate: 'v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp: In static member function 'static void node_mbgl::NodeExpression::Parse(const Nan::FunctionCallbackInfo<v8::Value>&)':
/mapbox-gl-native/platform/node/src/node_expression.cpp:74:48: error: no matching function for call to 'v8::Value::ToObject()'
expected = parseType(info[1]->ToObject());
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate: 'v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp: In member function 'v8::Local<v8::Value> node_mbgl::ToValue::operator()(const std::vector<mbgl::style::expression::Value>&)':
/mapbox-gl-native/platform/node/src/node_expression.cpp:161:42: error: no matching function for call to 'v8::Array::Set(std::size_t&, v8::Local<v8::Value>)'
result->Set(i, toJS(array[i]));
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3716:37: note: candidate expects 3 arguments, 2 provided
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate: 'v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)'
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
^~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:3719:37: note: candidate expects 3 arguments, 2 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp: In static member function 'static void node_mbgl::NodeExpression::Evaluate(const Nan::FunctionCallbackInfo<v8::Value>&)':
/mapbox-gl-native/platform/node/src/node_expression.cpp:241:62: error: no matching function for call to 'v8::Value::ToObject()'
v8::Local<v8::Value> v8zoom = Nan::Get(info[0]->ToObject(), Nan::New("zoom").ToLocalChecked()).ToLocalChecked();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate: 'v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp:242:56: error: no matching function for call to 'v8::Value::NumberValue()'
if (v8zoom->IsNumber()) zoom = v8zoom->NumberValue();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate: 'v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp:245:72: error: no matching function for call to 'v8::Value::ToObject()'
v8::Local<v8::Value> v8heatmapDensity = Nan::Get(info[0]->ToObject(), Nan::New("heatmapDensity").ToLocalChecked()).ToLocalChecked();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate: 'v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2868:44: note: candidate expects 1 argument, 0 provided
/mapbox-gl-native/platform/node/src/node_expression.cpp:246:86: error: no matching function for call to 'v8::Value::NumberValue()'
if (v8heatmapDensity->IsNumber()) heatmapDensity = v8heatmapDensity->NumberValue();
^
In file included from /mapbox-gl-native/build/headers/node/v15.8.0/node.h:63,
from /mapbox-gl-native/build/headers/nan/2.10.0/nan.h:51,
from /mapbox-gl-native/platform/node/src/node_conversion.hpp:6,
from /mapbox-gl-native/platform/node/src/node_expression.cpp:1:
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate: 'v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const'
V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
^~~~~~~~~~~
/mapbox-gl-native/build/headers/node/v15.8.0/v8.h:2907:39: note: candidate expects 1 argument, 0 provided
make[2]: *** [platform/node/CMakeFiles/mbgl-node.abi-88.dir/build.make:63: platform/node/CMakeFiles/mbgl-node.abi-88.dir/src/node_expression.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1760: platform/node/CMakeFiles/mbgl-node.abi-88.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
I can reproduce this failure.
For me the build succeeds if I leave out the RUN npm update line in the above Dockerfile (which probably upgrades some packages to versions which cause the problems).