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.36k stars 1.33k forks source link

make offline install fails due to compile error #14639

Closed andrewharvey closed 4 years ago

andrewharvey commented 5 years ago

Using master and following the install instructions at https://github.com/mapbox/mapbox-gl-native/blob/master/platform/linux/README.md with gcc-6, llvm3.9 make offline fails with the error below.

Upgrading to gcc-8, llvm8 the build succeeds (I haven't tried to work out which of those two needed to be upgraded and which is the new minimum version).

Should we update the instructions at https://github.com/mapbox/mapbox-gl-native/blob/master/platform/linux/README.md with new minimum requirements?

maybe related to #14432

FAILED: CMakeFiles/mbgl-core.dir/src/mbgl/programs/gl/background.cpp.o 
/usr/bin/c++  -DRAPIDJSON_HAS_STDSTRING=1 -D_GLIBCXX_USE_CXX11_ABI=1 -I../../../include -I../../../src -I../../../platform/default/include -I../../../platform/linux -I../../../mason_packages/linux-x86_64/libpng/1.6.25/include/libpng16 -I../../../mason_packages/linux-x86_64/libjpeg-turbo/1.5.0/include -isystem ../../../vendor/earcut.hpp/include -isystem ../../../vendor/eternal/include -isystem ../../../vendor/expected/include -isystem ../../../vendor/geojson-vt-cpp/include -isystem ../../../vendor/kdbush.hpp/include -isystem ../../../vendor/shelf-pack-cpp/include -isystem ../../../vendor/supercluster.hpp/include -isystem ../../../vendor/unique_resource -isystem ../../../vendor/wagyu/include -isystem ../../../vendor/boost/include -isystem ../../../vendor/geojson.hpp/include -isystem ../../../vendor/geometry.hpp/include -isystem ../../../vendor/icu/include -isystem ../../../vendor/optional/include -isystem ../../../vendor/polylabel/include -isystem ../../../vendor/protozero/include -isystem ../../../vendor/rapidjson/include -isystem ../../../vendor/variant/include -isystem ../../../vendor/vector-tile/include -isystem ../../../vendor/nunicode/include -Werror -ftemplate-depth=1024 -Wall -Wextra -Wshadow -Wnon-virtual-dtor -Wno-variadic-macros -Wno-unknown-pragmas -fno-rtti -fext-numeric-literals -g -fPIC -fvisibility=hidden -fvisibility-inlines-hidden   -std=c++14 -MD -MT CMakeFiles/mbgl-core.dir/src/mbgl/programs/gl/background.cpp.o -MF CMakeFiles/mbgl-core.dir/src/mbgl/programs/gl/background.cpp.o.d -o CMakeFiles/mbgl-core.dir/src/mbgl/programs/gl/background.cpp.o -c ../../../src/mbgl/programs/gl/background.cpp
In file included from ../../../src/mbgl/gl/value.hpp:8:0,
                 from ../../../src/mbgl/gl/context.hpp:7,
                 from ../../../src/mbgl/gl/program.hpp:6,
                 from ../../../src/mbgl/programs/gl/background.cpp:6:
../../../src/mbgl/gl/attribute.hpp: In instantiation of 'struct mbgl::gl::AttributeLocations<mbgl::TypeList<As ...> >::AttributeLocations(mbgl::gl::Context&, const ProgramID&)::<lambda()> [with As = {mbgl::attributes::pos}]::<lambda(const char*)>':
../../../src/mbgl/gl/attribute.hpp:52:15:   required from 'mbgl::gl::AttributeLocations<mbgl::TypeList<As ...> >::AttributeLocations(mbgl::gl::Context&, const ProgramID&)::<lambda()> [with As = {mbgl::attributes::pos}]'
../../../src/mbgl/gl/attribute.hpp:47:45:   required from 'struct mbgl::gl::AttributeLocations<mbgl::TypeList<As ...> >::AttributeLocations(mbgl::gl::Context&, const ProgramID&) [with As = {mbgl::attributes::pos}; mbgl::gl::ProgramID = unsigned int]::<lambda()>'
../../../src/mbgl/gl/attribute.hpp:56:12:   required from 'mbgl::gl::AttributeLocations<mbgl::TypeList<As ...> >::AttributeLocations(mbgl::gl::Context&, const ProgramID&) [with As = {mbgl::attributes::pos}; mbgl::gl::ProgramID = unsigned int]'
../../../src/mbgl/gl/program.hpp:53:50:   required from 'mbgl::gl::Program<Name>::Instance::Instance(mbgl::gl::Context&, const std::initializer_list<const char*>&, const std::initializer_list<const char*>&) [with Name = mbgl::BackgroundProgram]'
/usr/include/c++/6/bits/unique_ptr.h:791:30:   required from 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = mbgl::gl::Program<mbgl::BackgroundProgram>::Instance; _Args = {mbgl::gl::Context&, const std::initializer_list<const char*>&, const std::initializer_list<const char*>&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<mbgl::gl::Program<mbgl::BackgroundProgram>::Instance, std::default_delete<mbgl::gl::Program<mbgl::BackgroundProgram>::Instance> >]'
../../../src/mbgl/gl/program.hpp:120:53:   required from 'static std::unique_ptr<mbgl::gl::Program<Name>::Instance> mbgl::gl::Program<Name>::Instance::createInstance(mbgl::gl::Context&, const mbgl::ProgramParameters&, const string&) [with Name = mbgl::BackgroundProgram; std::__cxx11::string = std::__cxx11::basic_string<char>]'
../../../src/mbgl/gl/program.hpp:184:55:   required from 'void mbgl::gl::Program<Name>::draw(mbgl::gfx::Context&, mbgl::gfx::RenderPass&, const mbgl::gfx::DrawMode&, const mbgl::gfx::DepthMode&, const mbgl::gfx::StencilMode&, const mbgl::gfx::ColorMode&, const mbgl::gfx::CullFaceMode&, const mbgl::gfx::UniformValues<typename Name::UniformList>&, mbgl::gfx::DrawScope&, const mbgl::gfx::AttributeBindings<typename Name::AttributeList>&, const mbgl::gfx::TextureBindings<typename Name::TextureList>&, const mbgl::gfx::IndexBuffer&, std::size_t, std::size_t) [with Name = mbgl::BackgroundProgram; typename Name::UniformList = mbgl::TypeList<mbgl::uniforms::matrix, mbgl::uniforms::color, mbgl::uniforms::opacity>; typename Name::AttributeList = mbgl::TypeList<mbgl::attributes::pos>; typename Name::TextureList = mbgl::TypeList<>; std::size_t = long unsigned int]'
../../../src/mbgl/programs/gl/background.cpp:38:1:   required from here
../../../src/mbgl/gl/attribute.hpp:45:42: error: 'mbgl::gl::AttributeLocations<mbgl::TypeList<As ...> >::AttributeLocations(mbgl::gl::Context&, const ProgramID&)::<lambda()> [with As = {mbgl::attributes::pos}]::<lambda(const char*)>' declared with greater visibility than the type of its field 'mbgl::gl::AttributeLocations<mbgl::TypeList<As ...> >::AttributeLocations(mbgl::gl::Context&, const ProgramID&)::<lambda()> [with As = {mbgl::attributes::pos}]::<lambda(const char*)>::<context capture>' [-Werror=attributes]
               auto maybeBindLocation = [&](const char* name) -> optional<AttributeLocation> {
                                          ^
cc1plus: all warnings being treated as errors
ninja: build stopped: subcommand failed.
Makefile:363: recipe for target 'offline' failed
stale[bot] commented 4 years ago

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

andrewharvey commented 4 years ago

This is still an issue.