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

Vulkan: Failed to generate mono glue #36111

Closed
LinuxUserGD opened this issue Feb 11, 2020 · 4 comments
Closed

Vulkan: Failed to generate mono glue #36111

LinuxUserGD opened this issue Feb 11, 2020 · 4 comments

Comments

@LinuxUserGD
Copy link
Contributor

LinuxUserGD commented Feb 11, 2020

Godot version:
Vulkan master (8c73e81)
OS/device including version:
Arch Linux
Issue description:
Some methods like VisualServer, CameraEffects or Texture2D changed so the generation of bindings (mono glue / C-API) fails now when using Vulkan master for compiling with Mono on Linux.

Steps to reproduce:
Commands used:

echo 'Build temporary linux server binary' && \
scons p=x11 tools=yes module_mono_enabled=yes copy_mono_root=yes mono_glue=no -j 8 && \
echo 'Generate glue sources for linux' && \
bin/godot.x11.tools.64.mono --generate-mono-glue modules/mono/glue && \
echo 'Linux' && \
scons p=x11 bits=64 target=release_debug tools=yes use_llvm=yes use_lld=yes use_thinlto=yes module_mono_enabled=yes copy_mono_root=yes -j 8 && \
scons p=x11 bits=64 target=release_debug tools=no use_llvm=yes use_lld=yes use_thinlto=yes module_mono_enabled=yes copy_mono_root=yes -j 8 && \
Output (only errors):

[user@archlinux git]" ./godot_compile > godot_output.txt
ERROR: Method definition provides more arguments than the method actually has 'VisualServer::environment_set_ssao'.
at: bind_methodfi (core/class_db.cpp:1264)
ERROR: Condition "getter->return_type.cname != setter->arguments.back()->get(.type.cname" is true. returned: ERR_BUG
at: _generate_cs_property (modules/mono/editor/bindings_generator.cpp:1427)
ERROR: Failed to generate property 'override_exposure_enable' for class 'CameraEffects'.
at: _generate_cs_type (modules/mono/editor/bindings_generator.cpp:1297)
ERROR: Generation of the Core API C project failed.
at: generate_cs_api (modules/mono/editor/bindings_generator.cpp:1115)
ERROR: --generate-mono-glue: Failed to generate the C-API.
at: handle_cmdline_args (modules/mono/editor/bindings_generator.cpp:3181)
scons: *** [bin/GodotSharp/Api/Debug/GodotSharp.dll] RuntimeError : 'msbuild' exited with error code: 1
Traceback (most recent call last):
File "/run/media/user/user/git/godot/modules/mono/build_scripts/solution_builder.py", line 150, in run_command
subprocess.check_call(args, env=env_override)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess. CalledProcessError: Command '['/usr/bin/msbuild', '/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp.sln', '/p:Configuration=Debug', '/p:NoWarn=1591']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/SCons/Action.py", line 1209, in execute
result = self.execfunction(target=target, source=rsources, env=env)
File "/run/media/user/user/git/godot/modules/mono/build_scripts/api_solution_build.py", line 20, in build_api_solution
build_solution(env, solution_path, build_config, extra_msbuild_args=extra_msbuild_args)
File "/run/media/user/user/git/godot/modules/mono/build_scripts/solution_builder.py", line 214, in build_solution
run_command(msbuild_path, msbuild_args, env_override=msbuild_env, name='msbuild')
File "/run/media/user/user/git/godot/modules/mono/build_scripts/solution_builder.py", line 152, in run_command
raise RuntimeError("%s' exited with error code: %s" % (name, e.returncode))
RuntimeError: 'msbuild' exited with error code: 1

Generated/GodotObjects/Camera.cs(115.16): error CS0246: The type or namespace name 'CameraEffects' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/Camera.cs(701.32): error CS0246: The type or namespace name 'CameraEffects' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/Camera.cs(711.16): error CS0246: The type or namespace name 'CameraEffects' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/ARVRPositionalTracker.cs(68.39): warning CS0108: 'ARVRPositionalTracker.GetType()' hides inherited member 'object. GetType()'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]

[...]

Generated/GodotObjects/CPUParticles2D.cs(1604.34): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/CPUParticles2D.cs(1614.16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/LightOccluder2D.cs(36.20): warning CS0108: 'LightOccluder2D.LightMask' hides inherited member 'CanvasItem.LightMask'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
The creation of the project "/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp.csproj" is complete (default targets) -- ERROR.
The creation of the project "/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp.sln" is complete (default targets) -- ERROR.

The build process failed.

"/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp.sln" (default target) (1) ->
"/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj" (default target) (2) ->
(CoreCompile Target) -> 
Generated/GodotObjects/ARVRPositionalTracker.cs(68.39): warning CS0108: 'ARVRPositionalTracker.GetType()' hides inherited member 'object. GetType()'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/PathFollow2D.cs(94.21): warning CS0108: 'PathFollow2D.Rotate' hides inherited member 'Node2D.Rotate(float)'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/ArrayMesh.cs(144.36): warning CS0108: 'ArrayMesh.BlendShapeMode' hides inherited member 'Mesh.BlendShapeMode'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/ArrayMesh.cs(40.21): warning CS0108: 'ArrayMesh.ArrayFormat' hides inherited member 'Mesh.ArrayFormat'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/ArrayMesh.cs(80.21): warning CS0108: 'ArrayMesh.ArrayType' hides inherited member 'Mesh.ArrayType'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/CPUParticles.cs(15.21): warning CS0108: 'CPUParticles.Flags' hides inherited member 'GeometryInstance.Flags'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/LightOccluder2D.cs(36.20): warning CS0108: 'LightOccluder2D.LightMask' hides inherited member 'CanvasItem.LightMask'. Use the new keyword if hiding was intended. [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]

"/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp.sln" (default target) (1) ->
"/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj" (default target) (2) ->
(CoreCompile Target) -> 
Generated/GodotObjects/Camera.cs(115.16): error CS0246: The type or namespace name 'CameraEffects' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/Camera.cs(701.32): error CS0246: The type or namespace name 'CameraEffects' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/Camera.cs(711.16): error CS0246: The type or namespace name 'CameraEffects' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/AnimatedTexture.cs(14.44): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/AnimatedTexture.cs(60.16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/AnimatedTexture.cs(92.16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/AnimatedTexture.cs(124.16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/AnimatedTexture.cs(156.16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/AnimatedTexture.cs(188.16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
[...]
Generated/GodotObjects/CPUParticles2D.cs(1594,16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/CPUParticles2D.cs(1604.34): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]
Generated/GodotObjects/CPUParticles2D.cs(1614.16): error CS0246: The type or namespace name 'Texture2D' could not be found (are you missing a using directive or an assembly reference?) [/run/media/user/user/git/godot/modules/mono/glue/GodotSharp/GodotSharp/GodotSharp/GodotSharp.csproj]

7 Warning(s)
277 Errors

Elapsed time 00:00:03.99
scons: building terminated because of errors.
[user@archlinux godot]$

@nathanfranke
Copy link
Contributor

IIRC I was told that when reduz was making changes for Vulkan he didn't bother keeping Mono compatibility. Therefore, I am assuming that some of these problems will be difficult to fix...

@LinuxUserGD
Copy link
Contributor Author

I will test now if #36157 fixes this issue

@LinuxUserGD
Copy link
Contributor Author

Still same issue/output

@akien-mga
Copy link
Member

Fixed in the current master branch.

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

4 participants