I'm trying to get the Godot extension working and running into problems.
I'll try and reproduce the relevant details here along with my system specs.
First, I clone and compile:
$ git clone --recurse-submodules https://github.com/zzyzek/PMUGG
$ cd PMUGG/godot/godot-cpp
$ git switch 4.4
$ cd ..
$ scons platform=linux target=template_debug
I've merged the latest into my own repo (1ced221).
This compiles without error. Note that depending on which branch I switch to, there might be errors in the compilation step (I think 4.1 throws an error). I tried using a branch that matches the Godot version I'll ultimately run (4.4).
I've gone to Godot and downloaded their 4.4.1 build (here).
I run Godot 4.4.1 and import the project in .../PMUGG/godot/demo/project.godot. Godot runs but spits out errors on the command line:
$ ./Godot_v4.4.1-stable_linux.x86_64
Godot Engine v4.4.1.stable.official.49a5bc7b6 - https://godotengine.org
OpenGL API 4.6 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3 - Compatibility - Using Device: Intel - Mesa Intel(R) HD Graphics 530 (SKL GT2)
Editing project: /home/zzyzek/zzyzek.git/PMUGG/godot/demo
ERROR: Can't open dynamic library: /home/zzyzek/git/github/zzyzek/PMUGG/godot/demo/bin/libgdexample.linux.template_debug.x86_64.so. Error: /home/zzyzek/git/github/zzyzek/PMUGG/godot/demo/bin/libgdexample.linux.template_debug.x86_64.so: undefined symbol: setSize.
at: open_dynamic_library (drivers/unix/os_unix.cpp:896)
ERROR: Can't open GDExtension dynamic library: 'res://bin/gdexample.gdextension'.
at: open_library (core/extension/gdextension.cpp:702)
ERROR: Error loading extension: 'res://bin/gdexample.gdextension'.
at: load_extensions (core/extension/gdextension_manager.cpp:291)
Godot Engine v4.4.1.stable.official.49a5bc7b6 - https://godotengine.org
Vulkan 1.3.255 - Forward+ - Using Device #0: Intel - Intel(R) HD Graphics 530 (SKL GT2)
ERROR: Can't open dynamic library: /home/zzyzek/git/github/zzyzek/PMUGG/godot/demo/bin/libgdexample.linux.template_debug.x86_64.so. Error: /home/zzyzek/git/github/zzyzek/PMUGG/godot/demo/bin/libgdexample.linux.template_debug.x86_64.so: undefined symbol: setSize.
at: open_dynamic_library (drivers/unix/os_unix.cpp:896)
ERROR: Can't open GDExtension dynamic library: 'res://bin/gdexample.gdextension'.
at: open_library (core/extension/gdextension.cpp:702)
ERROR: Can't open dynamic library: /home/zzyzek/git/github/zzyzek/PMUGG/godot/demo/bin/libgdexample.linux.template_debug.x86_64.so. Error: /home/zzyzek/git/github/zzyzek/PMUGG/godot/demo/bin/libgdexample.linux.template_debug.x86_64.so: undefined symbol: setSize.
at: open_dynamic_library (drivers/unix/os_unix.cpp:896)
ERROR: Can't open GDExtension dynamic library: 'res://bin/gdexample.gdextension'.
at: open_library (core/extension/gdextension.cpp:702)
ERROR: Cannot get class 'GrammarEditor'.
at: _instantiate_internal (core/object/class_db.cpp:549)
My best guess is that this is a version mismatch between the Godot API and what version of the Godot API PMUGG is trying to use. I've tried other versions and gotten different run-time errors that can't find symbols in the various shared libraries. Here it's setSize but in others I believe it was iterate and I may have seen another one.
Was this developed with a particular Godot version? Have you been able to get this working with a particular Godot version?
I'm a little reluctant to try and muck around with the PMUGG code because I don't know what it's doing and I don't have much experience with Godot or it's API.
Some relevant details on my system setup:
$ uname -a
Linux ... 6.8.0-64-generic #67~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jun 24 15:19:46 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ g++ --version
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ scons --version
SCons by Steven Knight et al.:
SCons: v4.0.1.c289977f8b34786ab6c334311e232886da7e8df1, 2020-07-17 01:50:03, by bdbaddog on ProDog2020
SCons path: ['/usr/lib/python3/dist-packages/SCons']
Copyright (c) 2001 - 2020 The SCons Foundation
I'm trying to get the Godot extension working and running into problems.
I'll try and reproduce the relevant details here along with my system specs.
First, I clone and compile:
I've merged the latest into my own repo (1ced221).
This compiles without error. Note that depending on which branch I switch to, there might be errors in the compilation step (I think 4.1 throws an error). I tried using a branch that matches the Godot version I'll ultimately run (4.4).
I've gone to Godot and downloaded their 4.4.1 build (here).
I run Godot 4.4.1 and import the project in
.../PMUGG/godot/demo/project.godot. Godot runs but spits out errors on the command line:My best guess is that this is a version mismatch between the Godot API and what version of the Godot API PMUGG is trying to use. I've tried other versions and gotten different run-time errors that can't find symbols in the various shared libraries. Here it's
setSizebut in others I believe it wasiterateand I may have seen another one.Was this developed with a particular Godot version? Have you been able to get this working with a particular Godot version?
I'm a little reluctant to try and muck around with the PMUGG code because I don't know what it's doing and I don't have much experience with Godot or it's API.
Some relevant details on my system setup: