mapbox / mapbox-gl-native

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
https://mapbox.com/mobile
Other
4.35k stars 1.33k forks source link

Compilation from sources fails #16586

Open AAverin opened 3 years ago

AAverin commented 3 years ago

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::return_t Nan::imp::ToFactory::convert(v8::Local)': /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)' 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::Value::ToBoolean(v8::Isolate*) const' Local 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' 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::return_t Nan::imp::ToFactory::convert(v8::Local)': /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)' 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' 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::return_t Nan::imp::Factory::New(Nan::FunctionCallback, v8::Local)': /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::Local&)' , 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::New(v8::Local, v8::FunctionCallback, v8::Local, int, v8::ConstructorBehavior, v8::SideEffectType)' static MaybeLocal 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' 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::return_t Nan::imp::Factory::New(v8::Local)': /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&)' return v8::StringObject::New(value).As(); ^ 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::StringObject::New(v8::Isolate*, v8::Local)' static Local New(Isolate* isolate, Local 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(); ^ /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(); ^ 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)': /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 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::Value::ToString(v8::Local) const' V8_WARN_UNUSED_RESULT MaybeLocal 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(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&)': /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, const v8::Local&)' 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 v8::Object::Set(v8::Local, v8::Local, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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 v8::Object::Set(v8::Local, uint32_t, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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&, const v8::Local&)': /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&, const v8::Local&)' 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 v8::Object::Set(v8::Local, v8::Local, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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 v8::Object::Set(v8::Local, uint32_t, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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&)': /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&)' 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 v8::Object::Set(v8::Local, v8::Local, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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 v8::Object::Set(v8::Local, uint32_t, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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 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)' 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::Object::Get(v8::Local, v8::Local)' V8_WARN_UNUSED_RESULT MaybeLocal Get(Local 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::Object::Get(v8::Local, uint32_t)' V8_WARN_UNUSED_RESULT MaybeLocal Get(Local 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 Nan::AsyncWorker::GetFromPersistent(const v8::Local&) 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&)' 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::Object::Get(v8::Local, v8::Local)' V8_WARN_UNUSED_RESULT MaybeLocal Get(Local 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::Object::Get(v8::Local, uint32_t)' V8_WARN_UNUSED_RESULT MaybeLocal Get(Local 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 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::Object::Get(v8::Local, v8::Local)' V8_WARN_UNUSED_RESULT MaybeLocal Get(Local 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::Object::Get(v8::Local, uint32_t)' V8_WARN_UNUSED_RESULT MaybeLocal Get(Local 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' 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 mbgl::style::conversion::ConversionTraits >::toBool(const v8::Local&)': /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 mbgl::style::conversion::ConversionTraits >::toNumber(const v8::Local&)': /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 v8::Value::NumberValue(v8::Local) const' V8_WARN_UNUSED_RESULT Maybe NumberValue(Local 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 mbgl::style::conversion::ConversionTraits >::toDouble(const v8::Local&)': /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 v8::Value::NumberValue(v8::Local) const' V8_WARN_UNUSED_RESULT Maybe NumberValue(Local 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 mbgl::style::conversion::ConversionTraits >::toValue(const v8::Local&)': /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 v8::Value::Uint32Value(v8::Local) const' V8_WARN_UNUSED_RESULT Maybe 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 '{}' from '' to 'mbgl::optional' {aka 'std::experimental::optional'} 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 v8::Value::Int32Value(v8::Local) const' V8_WARN_UNUSED_RESULT Maybe Int32Value(Local 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 '{}' from '' to 'mbgl::optional' {aka 'std::experimental::optional'} 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 v8::Value::NumberValue(v8::Local) const' V8_WARN_UNUSED_RESULT Maybe NumberValue(Local 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 '{}' from '' to 'mbgl::optional' {aka 'std::experimental::optional'} return { value->NumberValue() }; ^ /mapbox-gl-native/platform/node/src/node_conversion.hpp: In static member function 'static mbgl::optional, mapbox::feature::feature, mapbox::feature::feature_collection > > mbgl::style::conversion::ConversionTraits >::toGeoJSON(const v8::Local&, 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::Value::ToObject(v8::Local) const' V8_WARN_UNUSED_RESULT MaybeLocal 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)': /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::FunctionTemplate::GetFunction(v8::Local)' V8_WARN_UNUSED_RESULT MaybeLocal 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::FunctionTemplate::GetFunction(v8::Local)' V8_WARN_UNUSED_RESULT MaybeLocal 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)': /mapbox-gl-native/platform/node/src/node_expression.cpp:49:51: error: no matching function for call to 'v8::String::Utf8Value::Utf8Value(v8::Local&)' 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)' Utf8Value(Isolate* isolate, Local 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::Value::ToObject(v8::Local) const' V8_WARN_UNUSED_RESULT MaybeLocal 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&)': /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::Value::ToObject(v8::Local) const' V8_WARN_UNUSED_RESULT MaybeLocal 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 node_mbgl::ToValue::operator()(const std::vector&)': /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)' 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 v8::Object::Set(v8::Local, v8::Local, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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 v8::Object::Set(v8::Local, uint32_t, v8::Local)' V8_WARN_UNUSED_RESULT Maybe Set(Local 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&)': /mapbox-gl-native/platform/node/src/node_expression.cpp:241:62: error: no matching function for call to 'v8::Value::ToObject()' v8::Local 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::Value::ToObject(v8::Local) const' V8_WARN_UNUSED_RESULT MaybeLocal 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 v8::Value::NumberValue(v8::Local) const' V8_WARN_UNUSED_RESULT Maybe NumberValue(Local 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 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::Value::ToObject(v8::Local) const' V8_WARN_UNUSED_RESULT MaybeLocal 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 v8::Value::NumberValue(v8::Local) const' V8_WARN_UNUSED_RESULT Maybe NumberValue(Local 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 ```
gwimmel commented 3 years ago

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).