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

Godot build failed #1

Open
nitin-ppnp opened this issue Apr 27, 2024 · 0 comments
Open

Godot build failed #1

nitin-ppnp opened this issue Apr 27, 2024 · 0 comments

Comments

@nitin-ppnp
Copy link

Platform : WSL2
Godot version : 4.2
Julia version : 1.10.2

Thank for this great initiative of julia support for Godot. I have tried following the instructions in the Readme. The godot build step failed with the following output.

In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:1:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:36:14: error: 'bool JuliaLanguage::is_control_flow_keyword(String) const' marked 'override', but does not override
   36 |         bool is_control_flow_keyword(String p_string) const override;
      |              ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:1:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:40:32: error: 'Vector<ScriptLanguage::ScriptTemplate> JuliaLanguage::get_built_in_templates(StringName)' marked 'override', but does not override
   40 |         Vector<ScriptTemplate> get_built_in_templates(StringName p_object) override { return Vector<ScriptTemplate>(); }
      |                                ^~~~~~~~~~~~~~~~~~~~~~
[Initial build] Compiling shared /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp ...
[Initial build] Compiling shared /home/nitin/projects/godot-julia/src/julia_script/glue/godot_julia.cpp ...
In file included from ./core/templates/vector.h:40,
                 from ./core/io/compression.h:34,
                 from ./core/io/file_access.h:34,
                 from ./core/io/xml_parser.h:34,
                 from ./core/doc_data.h:34,
                 from ./core/object/script_language.h:34,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_language.h:4,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:1:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp: In member function 'virtual Script* JuliaLanguage::create_script() const':
/home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:62:23: error: invalid new-expression of abstract class type 'JuliaScript'
   62 |         return memnew(JuliaScript);
      |                       ^~~~~~~~~~~
./core/os/memory.h:101:51: note: in definition of macro 'memnew'
  101 | #define memnew(m_class) _post_initialize(new ("") m_class)
      |                                                   ^~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:3:
/home/nitin/projects/godot-julia/src/julia_script/julia_script.h:12:7: note:   because the following virtual functions are pure within 'JuliaScript':
   12 | class JuliaScript : public Script {
      |       ^~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_language.h:4,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:1:
./core/object/script_language.h:164:22: note:     'virtual bool Script::is_abstract() const'
  164 |         virtual bool is_abstract() const = 0;
      |                      ^~~~~~~~~~~
In file included from ./core/templates/vector.h:40,
                 from ./core/io/compression.h:34,
                 from ./core/io/file_access.h:34,
                 from ./core/io/xml_parser.h:34,
                 from ./core/doc_data.h:34,
                 from ./core/object/script_language.h:34,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_language.h:4,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:1:
./core/object/ref_counted.h: In instantiation of 'void Ref<T>::instantiate(VarArgs ...) [with VarArgs = {}; T = JuliaScript]':
/home/nitin/projects/godot-julia/src/julia_script/julia_language.cpp:47:26:   required from here
./core/os/memory.h:101:42: error: invalid new-expression of abstract class type 'JuliaScript'
  101 | #define memnew(m_class) _post_initialize(new ("") m_class)
./core/object/ref_counted.h:217:21: note: in expansion of macro 'memnew'
  217 |                 ref(memnew(T(p_params...)));
      |                     ^~~~~~
scons: *** [/home/nitin/projects/godot-julia/src/julia_script/julia_language.os] Error 1
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:3:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:36:14: error: 'bool JuliaLanguage::is_control_flow_keyword(String) const' marked 'override', but does not override
   36 |         bool is_control_flow_keyword(String p_string) const override;
      |              ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:3:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:40:32: error: 'Vector<ScriptLanguage::ScriptTemplate> JuliaLanguage::get_built_in_templates(StringName)' marked 'override', but does not override
   40 |         Vector<ScriptTemplate> get_built_in_templates(StringName p_object) override { return Vector<ScriptTemplate>(); }
      |                                ^~~~~~~~~~~~~~~~~~~~~~
/home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp: In member function 'virtual Error JuliaScript::reload(bool)':
/home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:137:51: error: too many arguments to function 'jl_binding_t* jl_get_binding_wr(jl_module_t*, jl_sym_t*)'
  137 |         jl_binding_t *b_module = jl_get_binding_wr(jl_main_module, julia_module->name, 1);
      |                                  ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:8,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
/home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia.h:1736:28: note: declared here
 1736 | JL_DLLEXPORT jl_binding_t *jl_get_binding_wr(jl_module_t *m JL_PROPAGATES_ROOT, jl_sym_t *var);
      |                            ^~~~~~~~~~~~~~~~~
/home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:138:41: error: cannot convert 'jl_value_t*' {aka '_jl_value_t*'} to 'jl_module_t*' {aka '_jl_module_t*'}
  138 |         jl_checked_assignment(b_module, (jl_value_t *)julia_module);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                         |
      |                                         jl_value_t* {aka _jl_value_t*}
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:8,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
/home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia.h:1748:71: note:   initializing argument 2 of 'void jl_checked_assignment(jl_binding_t*, jl_module_t*, jl_sym_t*, jl_value_t*)'
 1748 | JL_DLLEXPORT void jl_checked_assignment(jl_binding_t *b, jl_module_t *mod, jl_sym_t *var, jl_value_t *rhs JL_MAYBE_UNROOTED);
      |                                                          ~~~~~~~~~~~~~^~~
In file included from /home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia.h:80,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:8,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
/home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia_threads.h:245:12: note: class type 'jl_value_t' {aka '_jl_value_t'} is incomplete
  245 |     struct _jl_value_t *sig_exception;
      |            ^~~~~~~~~~~
/home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:140:54: error: too many arguments to function 'jl_binding_t* jl_get_binding_wr(jl_module_t*, jl_sym_t*)'
  140 |         jl_binding_t *b_instances = jl_get_binding_wr(julia_module, jl_symbol("#GODOT_INSTANCES#"), 1);
      |                                     ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:8,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
/home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia.h:1736:28: note: declared here
 1736 | JL_DLLEXPORT jl_binding_t *jl_get_binding_wr(jl_module_t *m JL_PROPAGATES_ROOT, jl_sym_t *var);
      |                            ^~~~~~~~~~~~~~~~~
/home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:142:44: error: cannot convert 'jl_value_t*' {aka '_jl_value_t*'} to 'jl_module_t*' {aka '_jl_module_t*'}
  142 |         jl_checked_assignment(b_instances, julia_instances);
      |                                            ^~~~~~~~~~~~~~~
      |                                            |
      |                                            jl_value_t* {aka _jl_value_t*}
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:8,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
/home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia.h:1748:71: note:   initializing argument 2 of 'void jl_checked_assignment(jl_binding_t*, jl_module_t*, jl_sym_t*, jl_value_t*)'
 1748 | JL_DLLEXPORT void jl_checked_assignment(jl_binding_t *b, jl_module_t *mod, jl_sym_t *var, jl_value_t *rhs JL_MAYBE_UNROOTED);
      |                                                          ~~~~~~~~~~~~~^~~
In file included from /home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia.h:80,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:8,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
/home/nitin/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/include/julia/julia_threads.h:245:12: note: class type 'jl_value_t' {aka '_jl_value_t'} is incomplete
  245 |     struct _jl_value_t *sig_exception;
      |            ^~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:7:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:36:14: error: 'bool JuliaLanguage::is_control_flow_keyword(String) const' marked 'override', but does not override
   36 |         bool is_control_flow_keyword(String p_string) const override;
      |              ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:7:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:40:32: error: 'Vector<ScriptLanguage::ScriptTemplate> JuliaLanguage::get_built_in_templates(StringName)' marked 'override', but does not override
   40 |         Vector<ScriptTemplate> get_built_in_templates(StringName p_object) override { return Vector<ScriptTemplate>(); }
      |                                ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./core/templates/local_vector.h:35,
                 from ./core/object/message_queue.h:36,
                 from ./core/object/object.h:35,
                 from ./core/variant/binder_common.h:35,
                 from ./core/object/method_bind.h:34,
                 from ./core/object/class_db.h:34,
                 from ./core/object/ref_counted.h:34,
                 from ./core/io/resource_uid.h:34,
                 from ./core/io/resource.h:34,
                 from ./core/io/resource_loader.h:34,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:4,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
./core/object/ref_counted.h: In instantiation of 'void Ref<T>::instantiate(VarArgs ...) [with VarArgs = {}; T = JuliaScript]':
/home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:206:26:   required from here
./core/os/memory.h:101:42: error: invalid new-expression of abstract class type 'JuliaScript'
  101 | #define memnew(m_class) _post_initialize(new ("") m_class)
./core/object/ref_counted.h:217:21: note: in expansion of macro 'memnew'
  217 |                 ref(memnew(T(p_params...)));
      |                     ^~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
/home/nitin/projects/godot-julia/src/julia_script/julia_script.h:12:7: note:   because the following virtual functions are pure within 'JuliaScript':
   12 | class JuliaScript : public Script {
      |       ^~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script.h:6,
                 from /home/nitin/projects/godot-julia/src/julia_script/julia_script.cpp:1:
./core/object/script_language.h:164:22: note:     'virtual bool Script::is_abstract() const'
  164 |         virtual bool is_abstract() const = 0;
      |                      ^~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script_instance.cpp:3:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:36:14: error: 'bool JuliaLanguage::is_control_flow_keyword(String) const' marked 'override', but does not override
   36 |         bool is_control_flow_keyword(String p_string) const override;
      |              ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_script_instance.cpp:3:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:40:32: error: 'Vector<ScriptLanguage::ScriptTemplate> JuliaLanguage::get_built_in_templates(StringName)' marked 'override', but does not override
   40 |         Vector<ScriptTemplate> get_built_in_templates(StringName p_object) override { return Vector<ScriptTemplate>(); }
      |                                ^~~~~~~~~~~~~~~~~~~~~~
scons: *** [/home/nitin/projects/godot-julia/src/julia_script/julia_script.os] Error 1
In file included from ./core/templates/local_vector.h:35,
                 from ./core/object/message_queue.h:36,
                 from ./core/object/object.h:35,
                 from ./core/variant/binder_common.h:35,
                 from ./core/object/method_bind.h:34,
                 from ./core/object/class_db.h:34,
                 from ./core/object/ref_counted.h:34,
                 from ./core/io/resource_uid.h:34,
                 from ./core/io/resource.h:34,
                 from ./core/input/input_event.h:35,
                 from ./core/os/main_loop.h:34,
                 from ./core/config/engine.h:34,
                 from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:3:
/home/nitin/projects/godot-julia/src/julia_script/register_types.cpp: In function 'void initialize_julia_script_module(ModuleInitializationLevel)':
/home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:32:37: error: invalid new-expression of abstract class type 'JuliaLanguage'
   32 |         script_language_jl = memnew(JuliaLanguage);
      |                                     ^~~~~~~~~~~~~
./core/os/memory.h:101:51: note: in definition of macro 'memnew'
  101 | #define memnew(m_class) _post_initialize(new ("") m_class)
      |                                                   ^~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:7:
/home/nitin/projects/godot-julia/src/julia_script/julia_language.h:9:7: note:   because the following virtual functions are pure within 'JuliaLanguage':
    9 | class JuliaLanguage : public ScriptLanguage {
      |       ^~~~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_language.h:4,
                 from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:7:
./core/object/script_language.h:259:22: note:     'virtual bool ScriptLanguage::is_control_flow_keyword(const String&) const'
  259 |         virtual bool is_control_flow_keyword(const String &p_string) const = 0;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
./core/object/script_language.h:261:22: note:     'virtual void ScriptLanguage::get_doc_comment_delimiters(List<String>*) const'
  261 |         virtual void get_doc_comment_delimiters(List<String> *p_delimiters) const = 0;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
./core/object/script_language.h:394:22: note:     'virtual void ScriptLanguage::reload_scripts(const Array&, bool)'
  394 |         virtual void reload_scripts(const Array &p_scripts, bool p_soft_reload) = 0;
      |                      ^~~~~~~~~~~~~~
./core/object/script_language.h:413:22: note:     'virtual void ScriptLanguage::profiling_set_save_native_calls(bool)'
  413 |         virtual void profiling_set_save_native_calls(bool p_enable) = 0;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./core/templates/local_vector.h:35,
                 from ./core/object/message_queue.h:36,
                 from ./core/object/object.h:35,
                 from ./core/variant/binder_common.h:35,
                 from ./core/object/method_bind.h:34,
                 from ./core/object/class_db.h:34,
                 from ./core/object/ref_counted.h:34,
                 from ./core/io/resource_uid.h:34,
                 from ./core/io/resource.h:34,
                 from ./core/input/input_event.h:35,
                 from ./core/os/main_loop.h:34,
                 from ./core/config/engine.h:34,
                 from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:3:
./core/object/class_db.h: In instantiation of 'static Object* ClassDB::creator() [with T = JuliaScript]':
./core/object/class_db.h:202:20:   required from 'static void ClassDB::register_class(bool) [with T = JuliaScript]'
/home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:27:2:   required from here
./core/os/memory.h:101:42: error: invalid new-expression of abstract class type 'JuliaScript'
  101 | #define memnew(m_class) _post_initialize(new ("") m_class)
./core/object/class_db.h:145:24: note: in expansion of macro 'memnew'
  145 |                 return memnew(T);
      |                        ^~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:8:
/home/nitin/projects/godot-julia/src/julia_script/julia_script.h:12:7: note:   because the following virtual functions are pure within 'JuliaScript':
   12 | class JuliaScript : public Script {
      |       ^~~~~~~~~~~
In file included from /home/nitin/projects/godot-julia/src/julia_script/julia_language.h:4,
                 from /home/nitin/projects/godot-julia/src/julia_script/register_types.cpp:7:
./core/object/script_language.h:164:22: note:     'virtual bool Script::is_abstract() const'
  164 |         virtual bool is_abstract() const = 0;
      |                      ^~~~~~~~~~~
scons: *** [/home/nitin/projects/godot-julia/src/julia_script/julia_script_instance.os] Error 1
scons: *** [/home/nitin/projects/godot-julia/src/julia_script/register_types.os] Error 1
scons: building terminated because of errors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant