No, I was just telling you the names of the packages. I know you had them installed, the protobuf that comes with your Linux version is too outdated/old and you need to either make protobuf yourself, install it from a ppa, or install a newer Linux/Ubuntu version.
Installing Ubuntu Xenial is a good option since that's what we run our CI tests on:
https://packages.ubuntu.com/xenial/libprotobuf-dev
You could install it from this PPA like our Travis CI jobs do:
sudo add-apt-repository -y ppa:maarten-fonville/protobuf;
sudo apt-get install libprotobuf-dev protobuf-compiler
The protobuf version you need is at least 3.1 I believe, here's what version I have with the MSYS2 setup on Windows 10:
$ pacman -Ss protobuf
mingw64/mingw-w64-x86_64-protobuf 3.5.2-1 [installed: 3.5.1-1]
```
Hey, I had crashes after system upgrade now I have fresh installations.
I think that under Linux Mint 18.3 / Ubuntu 16.04 may be a problem with enigma due missing packages and older versions of libraries.
I have a question what is the minimum version of the distribution under which the enigma works well?
~/enigma-dev $ make all
make -C shared/lodepng/
make[1]: Entering directory '/home/rcobra/enigma-dev/shared/lodepng'
mkdir -p .eobjs/
g++ -fPIC -MMD -c -o .eobjs/lodepng.o lodepng.cpp
ar rvs liblodepng.a .eobjs/lodepng.o
ar: creating liblodepng.a
a - .eobjs/lodepng.o
make[1]: Leaving directory '/home/rcobra/enigma-dev/shared/lodepng'
make -C CommandLine/protos/
make[1]: Entering directory '/home/rcobra/enigma-dev/CommandLine/protos'
make codegen
make[2]: Entering directory '/home/rcobra/enigma-dev/CommandLine/protos'
mkdir -p codegen/
protoc -I=. -I=/usr/include --cpp_out=codegen/ treenode.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ game.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ options.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ project.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ server.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Path.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Object.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Sprite.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Script.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Room.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Timeline.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Shader.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Background.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Event.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/GameInformation.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Font.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Sound.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Include.proto
protoc -I=. -I=/usr/include --grpc_out=codegen/ --plugin=protoc-gen-grpc= server.proto
: program not found or is not executable
--grpc_out: protoc-gen-grpc: Plugin failed with status code 1.
Makefile:24: recipe for target 'codegen//server.grpc.pb.cc' failed
make[2]: *** [codegen//server.grpc.pb.cc] Error 1
make[2]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/protos'
Makefile:48: recipe for target 'lib' failed
make[1]: *** [lib] Error 2
make[1]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/protos'
Makefile:28: recipe for target 'libProtocols' failed
make: *** [libProtocols] Error 2
I'm sorry, this was my fault again, I forgot to tell you that you will also need Google GRPC. It's used to build server.proto which emake uses to provide its server mode. This part we don't build in Travis and are unsure of whether it will replace the lgmplugin behavior for RadialGM. It's for RPC but we are using it for IPC over localhost. Basically we put compiling games in a separate process now so that if it crashes it doesn't crash the IDE with it.
So you can either:
1) Obtain GRPC as well now. (you have to compile it from source because even Xenial's is too out of date)
2) Or else you can run `make all` with `disable_server=true` (I recommend this because RGM is not ready yet)
> I have a question what is the minimum version of the distribution under which the enigma works well?
Ubuntu Xenial if you build it and have all the same dependencies installed that Travis CI does. Our Travis CI is green, so if it can build emake, you can too:
https://github.com/enigma-dev/enigma-dev/blob/db851978707b268af4753051f018313e6e7a74cd/.travis.yml#L14
Because of the concerns you've raised here, I've sent #1258 that just disables the server by default for now. It's simply not ready yet and is just overcomplicating the setup.
hi, I've installed the Google GRPC problem still with the compilation.
I made update use enigma commit 4.119
~/enigma-dev $ make clean
make -C CompilerSource/ clean
make[1]: Entering directory '/home/rcobra/enigma-dev/CompilerSource'
rm -f ../libcompileEGMf.so .eobjs/./settings.o .eobjs/./main.o .eobjs/./makedir.o .eobjs/./frontend.o .eobjs/./compiler/compile.o .eobjs/./compiler/compile_common.o .eobjs/./compiler/jdi_utility.o .eobjs/./compiler/reshandlers/rectpack.o .eobjs/./compiler/reshandlers/refont.o .eobjs/./compiler/components/write_globals.o .eobjs/./compiler/components/module_write_sprites.o .eobjs/./compiler/components/write_object_access.o .eobjs/./compiler/components/module_write_sounds.o .eobjs/./compiler/components/write_defragged_events.o .eobjs/./compiler/components/module_write_backgrounds.o .eobjs/./compiler/components/handle_templates.o .eobjs/./compiler/components/module_write_fonts.o .eobjs/./compiler/components/write_room_data.o .eobjs/./compiler/components/write_font_info.o .eobjs/./compiler/components/write_shader_data.o .eobjs/./compiler/components/parse_secondary.o .eobjs/./compiler/components/parse_and_link.o .eobjs/./compiler/components/write_object_data.o .eobjs/./compiler/components/module_write_paths.o .eobjs/./backend/JavaCallbacks.o .eobjs/./backend/ideprint.o .eobjs/./JDI/src/System/lex_cpp.o .eobjs/./JDI/src/System/symbols.o .eobjs/./JDI/src/System/builtins.o .eobjs/./JDI/src/System/macros.o .eobjs/./JDI/src/System/token.o .eobjs/./JDI/src/System/lex_buffer.o .eobjs/./JDI/src/Parser/base.o .eobjs/./JDI/src/Parser/parse_context.o .eobjs/./JDI/src/Parser/handlers/handle_function_impl.o .eobjs/./JDI/src/Parser/handlers/handle_scope.o .eobjs/./JDI/src/Parser/handlers/handle_class.o .eobjs/./JDI/src/Parser/handlers/handle_templates.o .eobjs/./JDI/src/Parser/handlers/handle_union.o .eobjs/./JDI/src/Parser/handlers/handle_namespace.o .eobjs/./JDI/src/Parser/handlers/handle_hypothetical.o .eobjs/./JDI/src/Parser/handlers/handle_declarators.o .eobjs/./JDI/src/Parser/handlers/handle_enum.o .eobjs/./JDI/src/Parser/readers/read_operatorkw_name.o .eobjs/./JDI/src/Parser/readers/read_expression.o .eobjs/./JDI/src/Parser/readers/read_next_token.o .eobjs/./JDI/src/Parser/readers/read_template_parameters.o .eobjs/./JDI/src/Parser/readers/read_type.o .eobjs/./JDI/src/Parser/readers/read_qualified_definition.o .eobjs/./JDI/src/Storage/references.o .eobjs/./JDI/src/Storage/full_type.o .eobjs/./JDI/src/Storage/value_funcs.o .eobjs/./JDI/src/Storage/value.o .eobjs/./JDI/src/Storage/definition.o .eobjs/./JDI/src/API/lexer_interface.o .eobjs/./JDI/src/API/AST.o .eobjs/./JDI/src/API/jdi.o .eobjs/./JDI/src/API/error_reporting.o .eobjs/./JDI/src/API/AST_Export.o .eobjs/./JDI/src/API/context.o .eobjs/./JDI/src/API/user_tokens.o .eobjs/./JDI/src/General/debug_macros.o .eobjs/./JDI/src/General/svg_simple.o .eobjs/./JDI/src/General/parse_basics.o .eobjs/./JDI/src/General/llreader.o .eobjs/./JDI/test/debug_lexer.o .eobjs/./gcc_interface/gcc_backend.o .eobjs/./parser/parser_components.o .eobjs/./parser/collect_variables.o .eobjs/./parser/object_storage.o .eobjs/./parser/parser.o .eobjs/./syntax/syntax.o .eobjs/./languages/language_adapter.o .eobjs/./languages/lang_CPP.o .eobjs/./settings-parse/crawler.o .eobjs/./settings-parse/parse_ide_settings.o .eobjs/./filesystem/file_find.o .eobjs/./general/string.o .eobjs/./general/darray.o .eobjs/./general/bettersystem.o .eobjs/./general/macro_integration.o .eobjs/shared/eyaml/eyaml.o .eobjs/shared/event_reader/event_parser.o .eobjs/./settings.d .eobjs/./main.d .eobjs/./makedir.d .eobjs/./frontend.d .eobjs/./compiler/compile.d .eobjs/./compiler/compile_common.d .eobjs/./compiler/jdi_utility.d .eobjs/./compiler/reshandlers/rectpack.d .eobjs/./compiler/reshandlers/refont.d .eobjs/./compiler/components/write_globals.d .eobjs/./compiler/components/module_write_sprites.d .eobjs/./compiler/components/write_object_access.d .eobjs/./compiler/components/module_write_sounds.d .eobjs/./compiler/components/write_defragged_events.d .eobjs/./compiler/components/module_write_backgrounds.d .eobjs/./compiler/components/handle_templates.d .eobjs/./compiler/components/module_write_fonts.d .eobjs/./compiler/components/write_room_data.d .eobjs/./compiler/components/write_font_info.d .eobjs/./compiler/components/write_shader_data.d .eobjs/./compiler/components/parse_secondary.d .eobjs/./compiler/components/parse_and_link.d .eobjs/./compiler/components/write_object_data.d .eobjs/./compiler/components/module_write_paths.d .eobjs/./backend/JavaCallbacks.d .eobjs/./backend/ideprint.d .eobjs/./JDI/src/System/lex_cpp.d .eobjs/./JDI/src/System/symbols.d .eobjs/./JDI/src/System/builtins.d .eobjs/./JDI/src/System/macros.d .eobjs/./JDI/src/System/token.d .eobjs/./JDI/src/System/lex_buffer.d .eobjs/./JDI/src/Parser/base.d .eobjs/./JDI/src/Parser/parse_context.d .eobjs/./JDI/src/Parser/handlers/handle_function_impl.d .eobjs/./JDI/src/Parser/handlers/handle_scope.d .eobjs/./JDI/src/Parser/handlers/handle_class.d .eobjs/./JDI/src/Parser/handlers/handle_templates.d .eobjs/./JDI/src/Parser/handlers/handle_union.d .eobjs/./JDI/src/Parser/handlers/handle_namespace.d .eobjs/./JDI/src/Parser/handlers/handle_hypothetical.d .eobjs/./JDI/src/Parser/handlers/handle_declarators.d .eobjs/./JDI/src/Parser/handlers/handle_enum.d .eobjs/./JDI/src/Parser/readers/read_operatorkw_name.d .eobjs/./JDI/src/Parser/readers/read_expression.d .eobjs/./JDI/src/Parser/readers/read_next_token.d .eobjs/./JDI/src/Parser/readers/read_template_parameters.d .eobjs/./JDI/src/Parser/readers/read_type.d .eobjs/./JDI/src/Parser/readers/read_qualified_definition.d .eobjs/./JDI/src/Storage/references.d .eobjs/./JDI/src/Storage/full_type.d .eobjs/./JDI/src/Storage/value_funcs.d .eobjs/./JDI/src/Storage/value.d .eobjs/./JDI/src/Storage/definition.d .eobjs/./JDI/src/API/lexer_interface.d .eobjs/./JDI/src/API/AST.d .eobjs/./JDI/src/API/jdi.d .eobjs/./JDI/src/API/error_reporting.d .eobjs/./JDI/src/API/AST_Export.d .eobjs/./JDI/src/API/context.d .eobjs/./JDI/src/API/user_tokens.d .eobjs/./JDI/src/General/debug_macros.d .eobjs/./JDI/src/General/svg_simple.d .eobjs/./JDI/src/General/parse_basics.d .eobjs/./JDI/src/General/llreader.d .eobjs/./JDI/test/debug_lexer.d .eobjs/./gcc_interface/gcc_backend.d .eobjs/./parser/parser_components.d .eobjs/./parser/collect_variables.d .eobjs/./parser/object_storage.d .eobjs/./parser/parser.d .eobjs/./syntax/syntax.d .eobjs/./languages/language_adapter.d .eobjs/./languages/lang_CPP.d .eobjs/./settings-parse/crawler.d .eobjs/./settings-parse/parse_ide_settings.d .eobjs/./filesystem/file_find.d .eobjs/./general/string.d .eobjs/./general/darray.d .eobjs/./general/bettersystem.d .eobjs/./general/macro_integration.d .eobjs/shared/eyaml/eyaml.d .eobjs/shared/event_reader/event_parser.d
make[1]: Leaving directory '/home/rcobra/enigma-dev/CompilerSource'
make -C CommandLine/emake/ clean
make[1]: Entering directory '/home/rcobra/enigma-dev/CommandLine/emake'
rm -rf ../../emake .eobjs
make[1]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/emake'
make -C CommandLine/libEGM/ clean
make[1]: Entering directory '/home/rcobra/enigma-dev/CommandLine/libEGM'
Package pugixml was not found in the pkg-config search path.
Perhaps you should add the directory containing `pugixml.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pugixml' found
rm -rf ../../libEGM.so .eobjs
make[1]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/libEGM'
make -C CommandLine/protos/ clean
make[1]: Entering directory '/home/rcobra/enigma-dev/CommandLine/protos'
rm -rf ../../libProtocols.so .eobjs codegen/
make[1]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/protos'
make -C CommandLine/testing/ clean
make[1]: Entering directory '/home/rcobra/enigma-dev/CommandLine/testing'
rm -rf ../../test-runner .eobjs
make[1]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/testing'
make -C shared/lodepng/ clean
make[1]: Entering directory '/home/rcobra/enigma-dev/shared/lodepng'
rm .eobjs/lodepng.o liblodepng.a
make[1]: Leaving directory '/home/rcobra/enigma-dev/shared/lodepng'
rcobra@rcobra-900HD ~/enigma-dev $ make all
make -C shared/lodepng/
make[1]: Entering directory '/home/rcobra/enigma-dev/shared/lodepng'
mkdir -p .eobjs/
g++ -fPIC -MMD -c -o .eobjs/lodepng.o lodepng.cpp
ar rvs liblodepng.a .eobjs/lodepng.o
ar: creating liblodepng.a
a - .eobjs/lodepng.o
make[1]: Leaving directory '/home/rcobra/enigma-dev/shared/lodepng'
make -C CommandLine/protos/
make[1]: Entering directory '/home/rcobra/enigma-dev/CommandLine/protos'
make codegen
make[2]: Entering directory '/home/rcobra/enigma-dev/CommandLine/protos'
mkdir -p codegen/
protoc -I=. -I=/usr/include --cpp_out=codegen/ treenode.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ game.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ options.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ project.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ server.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Path.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Object.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Sprite.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Script.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Room.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Timeline.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Shader.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Background.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Event.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/GameInformation.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Font.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Sound.proto
protoc -I=. -I=/usr/include --cpp_out=codegen/ resources/Include.proto
protoc -I=. -I=/usr/include --grpc_out=codegen/ --plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin server.proto
make[2]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/protos'
make ../../libProtocols.so
make[2]: Entering directory '/home/rcobra/enigma-dev/CommandLine/protos'
mkdir -p .eobjs
mkdir -p .eobjs/codegen/
mkdir -p .eobjs/codegen/resources/
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/treenode.o codegen/treenode.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/game.o codegen/game.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/options.o codegen/options.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/project.o codegen/project.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/server.grpc.o codegen/server.grpc.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/server.o codegen/server.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Sprite.o codegen/resources/Sprite.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/GameInformation.o codegen/resources/GameInformation.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Script.o codegen/resources/Script.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Include.o codegen/resources/Include.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Room.o codegen/resources/Room.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Shader.o codegen/resources/Shader.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Background.o codegen/resources/Background.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Font.o codegen/resources/Font.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Timeline.o codegen/resources/Timeline.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Event.o codegen/resources/Event.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Object.o codegen/resources/Object.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Sound.o codegen/resources/Sound.pb.cc
g++ -Icodegen/ -std=c++11 -Wall -Wextra -Wpedantic -g -fPIC -D_WIN32_WINNT=0x0600 -MMD -c -o .eobjs/codegen/resources/Path.o codegen/resources/Path.pb.cc
g++ -shared -o ../../libProtocols.so .eobjs/codegen/treenode.o .eobjs/codegen/game.o .eobjs/codegen/options.o .eobjs/codegen/project.o .eobjs/codegen/server.grpc.o .eobjs/codegen/server.o .eobjs/codegen/resources/Sprite.o .eobjs/codegen/resources/GameInformation.o .eobjs/codegen/resources/Script.o .eobjs/codegen/resources/Include.o .eobjs/codegen/resources/Room.o .eobjs/codegen/resources/Shader.o .eobjs/codegen/resources/Background.o .eobjs/codegen/resources/Font.o .eobjs/codegen/resources/Timeline.o .eobjs/codegen/resources/Event.o .eobjs/codegen/resources/Object.o .eobjs/codegen/resources/Sound.o .eobjs/codegen/resources/Path.o -lgrpc++ -lprotobuf
make[2]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/protos'
make[1]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/protos'
make -C CommandLine/libEGM/
make[1]: Entering directory '/home/rcobra/enigma-dev/CommandLine/libEGM'
Package pugixml was not found in the pkg-config search path.
Perhaps you should add the directory containing `pugixml.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pugixml' found
make ../../libEGM.so
make[2]: Entering directory '/home/rcobra/enigma-dev/CommandLine/libEGM'
Package pugixml was not found in the pkg-config search path.
Perhaps you should add the directory containing `pugixml.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pugixml' found
mkdir -p .eobjs
g++ -I../protos -I../protos/codegen -I../../shared/lodepng -std=c++14 -Wall -Wextra -Wpedantic -g -fPIC -MMD -c -o .eobjs/gmk.o gmk.cpp
In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
from /usr/include/c++/5/unordered_map:47,
from gmk.cpp:28:
/usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> >’:
/usr/include/c++/5/type_traits:137:12: required from ‘struct std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > >’
/usr/include/c++/5/type_traits:148:38: required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::vector<std::__cxx11::basic_string<char>*> > >’
gmk.cpp:378:86: required from here
/usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<buffers::TreeNode::TypeCase>) (const buffers::TreeNode::TypeCase&)’
noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
^
In file included from /usr/include/c++/5/bits/move.h:57:0,
from /usr/include/c++/5/bits/stl_pair.h:59,
from /usr/include/c++/5/bits/stl_algobase.h:64,
from /usr/include/c++/5/bits/char_traits.h:39,
from /usr/include/c++/5/string:40,
from ../protos/codegen/project.pb.h:7,
from gmk.h:18,
from gmk.cpp:18:
/usr/include/c++/5/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’:
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::vector<std::__cxx11::basic_string<char>*> > >’
gmk.cpp:378:86: required from here
/usr/include/c++/5/type_traits:148:38: error: ‘value’ is not a member of ‘std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > >’
: public integral_constant<bool, !_Pp::value>
^
In file included from /usr/include/c++/5/unordered_map:48:0,
from gmk.cpp:28:
/usr/include/c++/5/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::vector<std::__cxx11::basic_string<char>*> > >’:
gmk.cpp:378:86: required from here
/usr/include/c++/5/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
^
/usr/include/c++/5/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::key_type key_type;
^
/usr/include/c++/5/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::value_type value_type;
^
/usr/include/c++/5/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::mapped_type mapped_type;
^
/usr/include/c++/5/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::hasher hasher;
^
/usr/include/c++/5/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::key_equal key_equal;
^
/usr/include/c++/5/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::allocator_type allocator_type;
^
/usr/include/c++/5/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::pointer pointer;
^
/usr/include/c++/5/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_pointer const_pointer;
^
/usr/include/c++/5/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::reference reference;
^
/usr/include/c++/5/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_reference const_reference;
^
/usr/include/c++/5/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::iterator iterator;
^
/usr/include/c++/5/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_iterator const_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::local_iterator local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_local_iterator const_local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::size_type size_type;
^
/usr/include/c++/5/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::difference_type difference_type;
^
/usr/include/c++/5/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
operator=(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
emplace(_Args&&... __args)
^
/usr/include/c++/5/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
insert(const value_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
insert(_Pair&& __x)
^
/usr/include/c++/5/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
insert(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
equal_range(const key_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
equal_range(const key_type& __x) const
^
gmk.cpp: In member function ‘void gmk::Decoder::postponeName(std::__cxx11::string*, int, TypeCase)’:
gmk.cpp:356:15: error: no match for ‘operator[]’ (operand types are ‘std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::vector<std::__cxx11::basic_string<char>*> > >’ and ‘TypeCase {aka buffers::TreeNode::TypeCase}’)
postponeds[type][id].push_back(name);
^
gmk.cpp: In member function ‘void gmk::Decoder::processPostoned(std::__cxx11::string, int, TypeCase)’:
gmk.cpp:360:31: error: ‘class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::vector<std::__cxx11::basic_string<char>*> > >’ has no member named ‘find’
auto idMapIt = postponeds.find(type);
^
gmk.cpp:361:31: error: ‘class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::vector<std::__cxx11::basic_string<char>*> > >’ has no member named ‘end’
if (idMapIt == postponeds.end()) {
^
In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
from /usr/include/c++/5/unordered_map:47,
from gmk.cpp:28:
/usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> >’:
/usr/include/c++/5/type_traits:137:12: required from ‘struct std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > >’
/usr/include/c++/5/type_traits:148:38: required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >’
gmk.cpp:827:41: required from here
/usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<buffers::resources::ArgumentKind>) (const buffers::resources::ArgumentKind&)’
noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
^
In file included from /usr/include/c++/5/bits/move.h:57:0,
from /usr/include/c++/5/bits/stl_pair.h:59,
from /usr/include/c++/5/bits/stl_algobase.h:64,
from /usr/include/c++/5/bits/char_traits.h:39,
from /usr/include/c++/5/string:40,
from ../protos/codegen/project.pb.h:7,
from gmk.h:18,
from gmk.cpp:18:
/usr/include/c++/5/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’:
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >’
gmk.cpp:827:41: required from here
/usr/include/c++/5/type_traits:148:38: error: ‘value’ is not a member of ‘std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > >’
: public integral_constant<bool, !_Pp::value>
^
In file included from /usr/include/c++/5/unordered_map:48:0,
from gmk.cpp:28:
/usr/include/c++/5/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >’:
gmk.cpp:827:41: required from here
/usr/include/c++/5/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
^
/usr/include/c++/5/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::key_type key_type;
^
/usr/include/c++/5/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::value_type value_type;
^
/usr/include/c++/5/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::mapped_type mapped_type;
^
/usr/include/c++/5/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::hasher hasher;
^
/usr/include/c++/5/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::key_equal key_equal;
^
/usr/include/c++/5/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::allocator_type allocator_type;
^
/usr/include/c++/5/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::pointer pointer;
^
/usr/include/c++/5/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::const_pointer const_pointer;
^
/usr/include/c++/5/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::reference reference;
^
/usr/include/c++/5/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::const_reference const_reference;
^
/usr/include/c++/5/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::iterator iterator;
^
/usr/include/c++/5/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::const_iterator const_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::local_iterator local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::const_local_iterator const_local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::size_type size_type;
^
/usr/include/c++/5/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
typedef typename _Hashtable::difference_type difference_type;
^
/usr/include/c++/5/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
operator=(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
emplace(_Args&&... __args)
^
/usr/include/c++/5/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
insert(const value_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
insert(_Pair&& __x)
^
/usr/include/c++/5/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
insert(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
equal_range(const key_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::resources::ArgumentKind> >, std::__detail::__is_noexcept_hash<buffers::resources::ArgumentKind, std::hash<buffers::resources::ArgumentKind> > > >’
equal_range(const key_type& __x) const
^
gmk.cpp: In function ‘int gmk::LoadActions(gmk::Decoder&, buffers::resources::Event*)’:
gmk.cpp:837:8: error: no matching function for call to ‘std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >::unordered_map(<brace-enclosed initializer list>)’
});
^
In file included from /usr/include/c++/5/unordered_map:48:0,
from gmk.cpp:28:
/usr/include/c++/5/bits/unordered_map.h:175:7: note: candidate: std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&&) [with _Key = buffers::resources::ArgumentKind; _Tp = std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)>; _Hash = std::hash<buffers::resources::ArgumentKind>; _Pred = std::equal_to<buffers::resources::ArgumentKind>; _Alloc = std::allocator<std::pair<const buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> > >]
unordered_map(unordered_map&&) = default;
^
/usr/include/c++/5/bits/unordered_map.h:175:7: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >&&’
/usr/include/c++/5/bits/unordered_map.h:172:7: note: candidate: std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(const std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&) [with _Key = buffers::resources::ArgumentKind; _Tp = std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)>; _Hash = std::hash<buffers::resources::ArgumentKind>; _Pred = std::equal_to<buffers::resources::ArgumentKind>; _Alloc = std::allocator<std::pair<const buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> > >]
unordered_map(const unordered_map&) = default;
^
/usr/include/c++/5/bits/unordered_map.h:172:7: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >&’
/usr/include/c++/5/bits/unordered_map.h:132:7: note: candidate: std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = buffers::resources::ArgumentKind; _Tp = std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)>; _Hash = std::hash<buffers::resources::ArgumentKind>; _Pred = std::equal_to<buffers::resources::ArgumentKind>; _Alloc = std::allocator<std::pair<const buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> > >]
unordered_map() = default;
^
/usr/include/c++/5/bits/unordered_map.h:132:7: note: candidate expects 0 arguments, 1 provided
gmk.cpp:839:40: error: ‘const MutatorMap {aka const class std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >}’ has no member named ‘find’
const auto &mutator = mutatorMap.find(argument->kind());
^
gmk.cpp:840:33: error: ‘const MutatorMap {aka const class std::unordered_map<buffers::resources::ArgumentKind, std::function<std::__cxx11::basic_string<char>*(buffers::resources::Argument*)> >}’ has no member named ‘end’
if (mutator != mutatorMap.end()) {
^
In file included from /usr/include/c++/5/unordered_map:48:0,
from gmk.cpp:28:
/usr/include/c++/5/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::unique_ptr<google::protobuf::Message> > >’:
gmk.cpp:1125:32: required from here
/usr/include/c++/5/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
^
/usr/include/c++/5/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::key_type key_type;
^
/usr/include/c++/5/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::value_type value_type;
^
/usr/include/c++/5/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::mapped_type mapped_type;
^
/usr/include/c++/5/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::hasher hasher;
^
/usr/include/c++/5/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::key_equal key_equal;
^
/usr/include/c++/5/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::allocator_type allocator_type;
^
/usr/include/c++/5/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::pointer pointer;
^
/usr/include/c++/5/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_pointer const_pointer;
^
/usr/include/c++/5/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::reference reference;
^
/usr/include/c++/5/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_reference const_reference;
^
/usr/include/c++/5/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::iterator iterator;
^
/usr/include/c++/5/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_iterator const_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::local_iterator local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::const_local_iterator const_local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::size_type size_type;
^
/usr/include/c++/5/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
typedef typename _Hashtable::difference_type difference_type;
^
/usr/include/c++/5/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
operator=(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
emplace(_Args&&... __args)
^
/usr/include/c++/5/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
insert(const value_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
insert(_Pair&& __x)
^
/usr/include/c++/5/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
insert(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
equal_range(const key_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<buffers::TreeNode::TypeCase> >, std::__detail::__is_noexcept_hash<buffers::TreeNode::TypeCase, std::hash<buffers::TreeNode::TypeCase> > > >’
equal_range(const key_type& __x) const
^
gmk.cpp: In function ‘int gmk::LoadGroup(gmk::Decoder&, TypeMap&, gmk::GroupFactory)’:
gmk.cpp:1125:27: error: no match for ‘operator[]’ (operand types are ‘TypeMap {aka std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::unique_ptr<google::protobuf::Message> > >}’ and ‘TypeCase {aka buffers::TreeNode::TypeCase}’)
auto &resMap = typeMap[type];
^
gmk.cpp: In function ‘void gmk::LoadTree(gmk::Decoder&, TypeMap&, buffers::TreeNode*)’:
gmk.cpp:1157:30: error: ‘using TypeMap = class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::unique_ptr<google::protobuf::Message> > > {aka class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::unique_ptr<google::protobuf::Message> > >}’ has no member named ‘find’
auto typeMapIt = typeMap.find(type);
^
gmk.cpp:1158:30: error: ‘using TypeMap = class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::unique_ptr<google::protobuf::Message> > > {aka class std::unordered_map<buffers::TreeNode::TypeCase, std::unordered_map<int, std::unique_ptr<google::protobuf::Message> > >}’ has no member named ‘end’
if (typeMapIt == typeMap.end()) {
^
Makefile:44: recipe for target '.eobjs/gmk.o' failed
make[2]: *** [.eobjs/gmk.o] Error 1
make[2]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/libEGM'
Makefile:26: recipe for target 'lib' failed
make[1]: *** [lib] Error 2
make[1]: Leaving directory '/home/rcobra/enigma-dev/CommandLine/libEGM'
Makefile:31: recipe for target 'libEGM' failed
make: *** [libEGM] Error 2
Ok, there's a couple of issues here. If you could make use of https://gist.github.com/ for pasting logs it would be easier to read replies/comments here.
I see for one you need to obtain the pugixml package for your platform. That's used by the new GMX reader. But it also looks like it's failing to build `gmk.cpp` because your GCC is too outdated for C++14 I think. Travis uses GCC-7 so you may also want to try upgrading that in addition to installing `libpugixml-dev`: https://github.com/enigma-dev/enigma-dev/blob/d0d0ecb4fdcee7c75a55dcf0522e0c3c3d92edfc/.travis.yml#L56
Keep us updated on this until you get it building.
@rcobraone We've just merged #1258, so building of the server/GRPC requirement is now disabled by default. It's not needed to build games with emake. We may reenable it again in the future for the RGM beta/etc. But you still need to upgrade your GCC to a version that supports C++14 to use emake/gmk.
hi, I managed to configure and compilation works new update enigma commit 4.123, despite installing libpugixml-dev shows that the package is missing.
I see, the package is probably just misconfigured for pkg-config. We only have pkg-config in the Makefile for the MSYS2 pacman package, so just don't worry about it. It's not my problem and it's not yours. Glad to hear you got it working! I knew you would, the new setup just takes some getting used to.
I am going to close this one then as resolved.
Please sign in to post comments, or you can
view this issue on GitHub.