Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enigma don't compile #2285

Open
TheLastGuard opened this issue Jan 18, 2022 · 5 comments
Open

enigma don't compile #2285

TheLastGuard opened this issue Jan 18, 2022 · 5 comments

Comments

@TheLastGuard
Copy link

TheLastGuard commented Jan 18, 2022

make output

g++ -std=c++17 -Wall -Wextra -Wpedantic -g -I. -D_WIN32_WINNT=0x0600 -I.eobjs -fPIC -o ../../libProtocols.dll .eobjs/Action.pb.o .eobjs/Background.pb.o .eobjs/EventDescriptor.pb.o .eobjs/Font.pb.o .eobjs/GameInformation.pb.o .eobjs/Include.pb.o .eobjs/Object.pb.o .eobjs/Path.pb.o .eobjs/Room.pb.o .eobjs/Script.pb.o .eobjs/Settings.pb.o .eobjs/Shader.pb.o .eobjs/Sound.pb.o .eobjs/Sprite.pb.o .eobjs/Timeline.pb.o .eobjs/compiler.pb.o .eobjs/game.pb.o .eobjs/options.pb.o .eobjs/project.pb.o .eobjs/server.pb.o .eobjs/treenode.pb.o .eobjs/server.grpc.pb.o -g -lgrpc++ -shared -lprotobuf
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o: in function absl::lts_20211102::MutexLock::MutexLock(absl::lts_20211102::Mutex*)': C:/msys64/mingw64/include/absl/synchronization/mutex.h:526: undefined reference to absl::lts_20211102::Mutex::Lock()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o: in function absl::lts_20211102::MutexLock::~MutexLock()': C:/msys64/mingw64/include/absl/synchronization/mutex.h:543: undefined reference to absl::lts_20211102::Mutex::Unlock()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o: in function grpc::CompletionQueue::~CompletionQueue()': C:/msys64/mingw64/include/grpcpp/impl/codegen/completion_queue.h:121: undefined reference to absl::lts_20211102::Mutex::~Mutex()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o: in function grpc::CompletionQueue::CompletionQueue(grpc_completion_queue_attributes const&)': C:/msys64/mingw64/include/grpcpp/impl/codegen/completion_queue.h:259: undefined reference to absl::lts_20211102::Mutex::~Mutex()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o: in function grpc::internal::ClientCallbackReaderImpl<buffers::CompileReply>::ClientCallbackReaderImpl<buffers::CompileRequest const>(grpc::internal::Call, grpc::ClientContext*, buffers::CompileRequest const*, grpc::ClientReadReactor<buffers::CompileReply>*)': C:/msys64/mingw64/include/grpcpp/impl/codegen/client_callback.h:821: undefined reference to absl::lts_20211102::Mutex::~Mutex()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o: in function grpc::internal::ClientCallbackReaderImpl<buffers::Resource>::ClientCallbackReaderImpl<buffers::Empty const>(grpc::internal::Call, grpc::ClientContext*, buffers::Empty const*, grpc::ClientReadReactor<buffers::Resource>*)': C:/msys64/mingw64/include/grpcpp/impl/codegen/client_callback.h:821: undefined reference to absl::lts_20211102::Mutex::~Mutex()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o: in function grpc::internal::ClientCallbackReaderImpl<buffers::SystemType>::ClientCallbackReaderImpl<buffers::Empty const>(grpc::internal::Call, grpc::ClientContext*, buffers::Empty const*, grpc::ClientReadReactor<buffers::SystemType>*)': C:/msys64/mingw64/include/grpcpp/impl/codegen/client_callback.h:821: undefined reference to absl::lts_20211102::Mutex::~Mutex()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .eobjs/server.grpc.pb.o:C:/msys64/mingw64/include/grpcpp/impl/codegen/client_callback.h:730: more undefined references to `absl::lts_20211102::Mutex::~Mutex()' follow
collect2.exe: error: ld returned 1 exit status
make[1]: *** [../../Default.mk:23: ../../libProtocols.dll] Error 1
make[1]: Leaving directory '/c/Users/chuya/Downloads/enigma-dev/shared/protos'
make: *** [Makefile:42: libProtocols] Error 2

ENIGMA Configuration:

  • Windows and msys2
@JoshDreamland
Copy link
Member

Thanks for reporting. We've been looking into this, but we only have one developer on Windows.

@fundies
Copy link
Contributor

fundies commented Jan 23, 2022

You may have better luck with the installer on the release page vs using your own msys.

@TheLastGuard
Copy link
Author

Thank you, I will try.

@ZGURemixer
Copy link

I'm having the same problem without using my own msys.

@k0T0z
Copy link
Contributor

k0T0z commented Mar 12, 2023

@TheLastGuard @ZGURemixer

this problem is on Windows because of grpc package so by following those steps I think it will be resolved

  • open MSYSx64 or whatever you use and type pkg-config --cflags --libs grpc++ and hit enter
  • copy its output to an editor like visual studio code and search for a missing separator, a missing separator is -l before every dependency so for example -labsl_strings_internal advapi32 -labsl_base the advapi32 must be -ladvapi32. Do that for all the text, search for something like this
  • after you fix all the text, open these two files /enigma-dev/CommandLine/emake/Makefile and /enigma-dev/shared/protos/Makefile in your visual studio code
  • search in these two makefiles for -lgrpc++ and replace it with your fixed text
  • make sure that there are no new lines in the fixed text and also every two dependencies must be separated by space for example this is correct -labsl_strings_internal -ladvapi32, this is incorrect -labsl_strings_internal-ladvapi32

if you encountered any issues with those steps just ping me here

EDIT: the wiki has provided officially the fix for LGM https://enigma-dev.org/docs/Wiki/Install:Windows#:~:text=%2D-,Libprotocols.dll%20Errors,-This%20is%20due

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants