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

Failing to compile with mono on windows #39043

Closed
Grandro opened this issue May 25, 2020 · 4 comments
Closed

Failing to compile with mono on windows #39043

Grandro opened this issue May 25, 2020 · 4 comments
Labels

Comments

@Grandro
Copy link

Grandro commented May 25, 2020

Godot version:

v3.1.2.devel.mono.custom_build

OS/device including version:

Windows 10

Issue description:

I was able to compile mono recently but suddenly it stopped working and I'm not sure why that is. I did a Visual Studio update recently, maybe that broke something?
When I run the command scons p=windows tools=yes module_mono_enabled=yes mono_glue=no following errors occur:

E:\Godot Engine\Builds\LoL_Call_Maker>scons p=windows tools=yes module_mono_enabled=yes mono_glue=no
scons: Reading SConscript files ...
Configuring for Windows: target=debug, bits=default
 Found MSVC version 14.2, arch amd64, bits=64
Found Mono root directory: C:\Program Files\Mono\
Found Mono JIT compiler version: 6.4.0
Checking for `thread_local` support... supported
YASM is necessary for WebM SIMD optimizations.
WebM SIMD optimizations are disabled. Check if your CPU architecture, CPU bits or platform are supported!
Checking for C header file mntent.h... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
[  1%] Compiling ==> platform\windows\crash_handler_windows.cpp
crash_handler_windows.cpp
platform\windows\crash_handler_windows.cpp(56): error C2039: "string" ist kein Member von "std".
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(24): note: Siehe Deklaration von "std"
platform\windows\crash_handler_windows.cpp(56): error C3646: "image_name": Unbekannter Überschreibungsspezifizierer
platform\windows\crash_handler_windows.cpp(56): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
platform\windows\crash_handler_windows.cpp(57): error C2039: "string" ist kein Member von "std".
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(24): note: Siehe Deklaration von "std"
platform\windows\crash_handler_windows.cpp(57): error C3646: "module_name": Unbekannter Überschreibungsspezifizierer
platform\windows\crash_handler_windows.cpp(57): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
platform\windows\crash_handler_windows.cpp(78): error C2039: "string" ist kein Member von "std".
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(24): note: Siehe Deklaration von "std"
platform\windows\crash_handler_windows.cpp(78): error C3646: "name": Unbekannter Überschreibungsspezifizierer
platform\windows\crash_handler_windows.cpp(78): error C2059: Syntaxfehler: "("
platform\windows\crash_handler_windows.cpp(78): error C2334: Unerwartete(s) Token vor "{"; sichtbarer Funktionstext wird übersprungen
platform\windows\crash_handler_windows.cpp(79): error C2039: "string" ist kein Member von "std".
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(24): note: Siehe Deklaration von "std"
platform\windows\crash_handler_windows.cpp(79): error C3646: "undecorated_name": Unbekannter Überschreibungsspezifizierer
platform\windows\crash_handler_windows.cpp(79): error C2059: Syntaxfehler: "("
platform\windows\crash_handler_windows.cpp(79): error C2334: Unerwartete(s) Token vor "{"; sichtbarer Funktionstext wird übersprungen
platform\windows\crash_handler_windows.cpp(105): error C2039: "image_name" ist kein Member von "module_data".
platform\windows\crash_handler_windows.cpp(55): note: Siehe Deklaration von "module_data"
platform\windows\crash_handler_windows.cpp(107): error C2039: "module_name" ist kein Member von "module_data".
platform\windows\crash_handler_windows.cpp(55): note: Siehe Deklaration von "module_data"
platform\windows\crash_handler_windows.cpp(108): error C2039: "image_name" ist kein Member von "module_data".
platform\windows\crash_handler_windows.cpp(55): note: Siehe Deklaration von "module_data"
platform\windows\crash_handler_windows.cpp(109): error C2039: "module_name" ist kein Member von "module_data".
platform\windows\crash_handler_windows.cpp(55): note: Siehe Deklaration von "module_data"
platform\windows\crash_handler_windows.cpp(184): error C2039: "string" ist kein Member von "std".
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(24): note: Siehe Deklaration von "std"
platform\windows\crash_handler_windows.cpp(184): error C2065: "string": nichtdeklarierter Bezeichner
platform\windows\crash_handler_windows.cpp(184): error C2146: Syntaxfehler: Fehlendes ";" vor Bezeichner "fnName"
platform\windows\crash_handler_windows.cpp(184): error C2065: "fnName": nichtdeklarierter Bezeichner
platform\windows\crash_handler_windows.cpp(184): error C2039: "undecorated_name" ist kein Member von "symbol".
platform\windows\crash_handler_windows.cpp(62): note: Siehe Deklaration von "symbol"
platform\windows\crash_handler_windows.cpp(187): error C2065: "fnName": nichtdeklarierter Bezeichner
platform\windows\crash_handler_windows.cpp(187): warning C4477: "fprintf": Die Formatzeichenfolge "%s" erfordert ein Argument vom Typ "char *", das variadic-Argument "3" weist aber den Typ "DWORD" auf.
platform\windows\crash_handler_windows.cpp(187): warning C4313: "fprintf": "%s" in der Formatzeichenfolge steht mit dem Argument "3" vom Typ "DWORD" in Konflikt.
platform\windows\crash_handler_windows.cpp(187): warning C4473: "fprintf": nicht genügend Argumente für Formatzeichenfolge übergeben
platform\windows\crash_handler_windows.cpp(187): note: Platzhalter und deren Parameter erwarten 4 variadic-Argumente, es wurden aber 3 variadic-Argumente bereitgestellt.
platform\windows\crash_handler_windows.cpp(187): note: Das fehlende variadic-Argument "4" ist für die Zeichenfolge "%d" erforderlich.
platform\windows\crash_handler_windows.cpp(189): error C2065: "fnName": nichtdeklarierter Bezeichner
platform\windows\crash_handler_windows.cpp(189): warning C4473: "fprintf": nicht genügend Argumente für Formatzeichenfolge übergeben
platform\windows\crash_handler_windows.cpp(189): note: Platzhalter und deren Parameter erwarten 2 variadic-Argumente, es wurden aber 1 variadic-Argumente bereitgestellt.
platform\windows\crash_handler_windows.cpp(189): note: Das fehlende variadic-Argument "2" ist für die Zeichenfolge "%s" erforderlich.
scons: *** [platform\windows\crash_handler_windows.windows.tools.64.obj] Error 2
scons: building terminated because of errors.

The first error for example translates to something like
"string" is not a member of "std"

python --version prints 3.7.5
mono --version prints

Mono JIT compiler version 6.4.0 (Visual Studio built mono)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       normal
        Notification:  Thread + polling
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        Interpreter:   yes
        LLVM:          supported, not enabled.
        Suspend:       preemptive
        GC:            sgen (concurrent by default)

scons --version prints

SCons by Steven Knight et al.:
        script: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17 02:07:09, by bdeegan on octodog
        engine: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17 02:07:09, by bdeegan on octodog
        engine path: ['C:\\Users\\USERNAME\\AppData\\Local\\Programs\\Python\\Python37\\scons\\SCons']
Copyright (c) 2001 - 2019 The SCons Foundation

Things I have installed in Visual Studio 2019:

  • Desktop C++ workload
  • Desktop .NET workload
  • MSVC v142 – VS 2019 C++-x64/x86-Buildtools
  • .NET Framework 4.7-Developertools

Maybe there's something wrong with the compiler of Visual Studio 2019 in the newest version?

Steps to reproduce:
Try generating the glue when compiling with mono using above mentioned versions

@akien-mga
Copy link
Member

Duplicate of #37986.

@akien-mga
Copy link
Member

It should be fixed if you pull the latest 3.1 branch commit.

@Grandro
Copy link
Author

Grandro commented May 26, 2020

Yes, you're right, that's the only thing I havent tried... Sorry for the duplicate, I haven't found issues where the errors were similar to mine.

@akien-mga
Copy link
Member

No worry, the duplicate was not easy to find indeed. And I hadn't included the fix in the 3.1 branch yet when your opened this issue, so it was useful of you to open it :)

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

No branches or pull requests

2 participants