Broken compile games or use ENIGMA in Linux Mint 18.3

Reporter: rcobraone  |  Status: closed  |  Last Modified: June 03, 2018, 11:12:41 am
ok, I tried to build the command line, unfortunately it failed 1.building emake ~/enigma-dev/CommandLine/emake $ make g++ -I. -I../../CompilerSource -I../protos -I../protos/codegen -I../../shared/lodepng -std=c++11 -Wall -Wextra -Wpedantic -g -I../libEGM -I../libEGM -I../../shared -MMD -c -o .eobjs/Server.o Server.cpp In file included from ../protos/codegen/game.pb.h:27:0, from EnigmaPlugin.hpp:7, from Server.hpp:1, from Server.cpp:5: ../protos/codegen/treenode.pb.h:27:33: fatal error: resources/Sprite.pb.h: There is no such file or directory compilation terminated. Makefile:69: commands for the object '.eobjs/Server.o' Failed make: *** [.eobjs/Server.o] Error 1 2.using java and enigma plugin ~/enigma-dev $ java -jar plugins/enigma.jar joytest.gmx/joytest.project.gmx -s -output=joytest.gmx/test Loading lib files in /home/rcobra/enigma-dev/lateralgm.jar 01_move.lgl 02_main1.lgl 03_main2.lgl 04_control.lgl 05_score.lgl 06_extra.lgl 07_draw.lgl enigma: java.lang.NullPointerException: null ENIGMA Version: commits 4,117 LateralGM Version: 1.8.40 Operating System: Linux Mint 18.3 Sylvia Version: Linux 4.13.0-43-generic (i686) Architecture: i386 Java Version: java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) Client VM (build 25.171-b11, mixed mode) GCC Version: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/5/lto-wrapper Target: i686-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
RobertBColton  

@rcobraone you need to build it like so:

cd enigma-dev
make all

You can't make emake before libEGM or libProtocols is made.

rcobraone  
not working

~/enigma-dev $ make all
make -C shared/lodepng/
make[1]: Catalog entry '/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
r - .eobjs/lodepng.o
make[1]: Leaving the catalog '/home/rcobra/enigma-dev/shared/lodepng'
make -C CommandLine/protos/
make[1]: Catalog entry '/home/rcobra/enigma-dev/CommandLine/protos'
make codegen
make[2]: Catalog entry '/home/rcobra/enigma-dev/CommandLine/protos'
mkdir -p codegen/
protoc -I=. -I=/usr/include --cpp_out=codegen/ server.proto
server.proto:7:54: Expected ")".
server.proto:8:44: Expected ")".
Makefile:27: commands for the object 'codegen//server.pb.cc' Failed
make[2]: *** [codegen//server.pb.cc] Error 1
make[2]: Leaving the catalog '/home/rcobra/enigma-dev/CommandLine/protos'
Makefile:48: commands for the object 'lib' Failed
make[1]: *** [lib] Error 2
make[1]: Leaving the catalog '/home/rcobra/enigma-dev/CommandLine/protos'
Makefile:28: commands for the object 'libProtocols' Failed
make: *** [libProtocols] Error 2

RobertBColton  
Your protobuf version is too old and needs to be updated.

sudo apt-get install libprotobuf-dev protobuf-compiler

We just merged the protos into master the other day, that's why you ran into this.

rcobraone  
yes installed and nothing changes, maybe is missing library
RobertBColton  
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]
``` 
rcobraone  
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
RobertBColton  
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
RobertBColton  
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.
rcobraone  
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
RobertBColton  
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.
RobertBColton  
@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.
rcobraone  
hi, I managed to configure and compilation works new update enigma commit 4.123, despite installing libpugixml-dev shows that the package is missing.
RobertBColton  
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.