lucasvanmol / algodot

Algorand integration in Godot
MIT License
5 stars 1 forks source link

running algod = Algod.new() returns a null instance and breaks the code #1

Closed Sam2much96 closed 2 years ago

Sam2much96 commented 2 years ago

My Engine throws the following errors:

E 0:00:01.293 open_dynamic_library: Can't open dynamic library: /home/samuel/algodot/test/project/addons/algodot/lib/libalgodot.so. Error: /home/samuel/Desktop/../lib/libalgodot.so: cannot open shared object file: No such file or directory <C++ Error> Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN <C++ Source> drivers/unix/os_unix.cpp:403 @ open_dynamic_library()

E 0:00:01.293 get_symbol: No valid library handle, can't get symbol from GDNative object <C++ Source> modules/gdnative/gdnative.cpp:510 @ get_symbol()

E 0:00:01.293 init_library: No nativescript_init in "res://addons/algodot/lib/libalgodot.so" found <C++ Source> modules/gdnative/nativescript/nativescript.cpp:1510 @ init_library()

E 0:00:01.293 start: Script does not inherit a Node: res://addons/algodot/gdnative/async_executor.gdns <C++ Error> Condition "!valid_type" is true. Continuing. <C++ Source> main/main.cpp:1832 @ start()

E 0:00:01.293 terminate: No valid library handle, can't terminate GDNative object <C++ Source> modules/gdnative/gdnative.cpp:417 @ terminate()

I eagerly await your fix suggestions.

Sam2much96 commented 2 years ago

Fix (1) : This copy of the test build doesn't contain the algorand shared libraries. Creating a clone from algorand-build into res://addons/algodot/lib should presumably fix it

Did it work? No

lucasvanmol commented 2 years ago

If you want to try and run the test project from this directory, you should first compile the binary by running this command at the root directory of the repo:

cargo build -Z unstable-options --release --out-dir "./test/project/addons/algodot/lib" -v

Alternatively, you can also try to download the compiled files directly here: Direct link, Repo link. I've just updated them to v0.3 as they were still on the previous version, but it should work either way. Once you've downloaded it, you can place the addons file into the root directory (res://) of your godot project.

If one of the above two methods don't work, please let me know, and share any errors along with the OS and Godot version you're running.

Sam2much96 commented 2 years ago

Thanks, glad you're active, dev. I'll post feedback in a couple of hours

Sam2much96 commented 2 years ago

it works. Closing issue

lucasvanmol commented 2 years ago

Awesome, don't hesitate to give some feedback if you try it out!

Sam2much96 commented 2 years ago

Next test would be compiling the library for Android devices and testing deployment on Mobile. 🤜🤛