limbonaut / limboai

LimboAI - Behavior Trees and State Machines for Godot 4

Home Page:https://limboai.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

In linux missing .so

MachinistJohn opened this issue · comments

any way you can recompile the linux editor using gcc-12 i can't get gcc-13 without compiling it myself (debian). there is an error of a glibc++ 3.4.32 mine only goes up to .30 and my repo doesnt carry it (gcc-13)

GDExtension or module?
EDIT: NVM, my eyes don't read today.

any way you can recompile the linux editor using gcc-12 i can't get gcc-13 without compiling it myself (debian). there is an error of a glibc++ 3.4.32 mine only goes up to .30 and my repo doesnt carry it (gcc-13)

Can you check out the following build?
https://github.com/limbonaut/limboai/actions/runs/9236401413

It is compiled with a different toolchain (IIRC that one uses .28 libc). I changed the toolchain recently in order to support Steam Deck. Should also work on Debian.

EDIT: Here's also v1.0.2 built using that toolchain: https://github.com/limbonaut/limboai/actions/runs/9245519154

hi, i tried both of them but no luck. i looked into updating my libstdc++6 to make it work and looks like it would send me to dependency hell. Any ways here is a copy of the error message
Can't open dynamic library: /home/john/Pirate/godot/Pirate/addons/limboai/bin/liblimboai.linux.editor.x86_64.so. Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /home/john/Pirate/godot/Pirate/addons/limboai/bin/liblimboai.linux.editor.x86_64.so).
core/extension/gdextension.cpp:719 - GDExtension dynamic library not found: /home/john/Pirate/godot/Pirate/addons/limboai/bin/liblimboai.linux.editor.x86_64.so
Failed loading resource: res://addons/limboai/bin/limboai.gdextension. Make sure resources have been imported by opening the project in the editor at least once.

I ran the following command on the updated lib:

strings liblimboai.linux.editor.x86_64.so | grep GLIBCXX

Output:

GLIBCXX_3.4.18
GLIBCXX_3.4
GLIBCXX_3.4.15

AFAIK it shouldn't require GLIBCXX_3.4.32. Could you check if it outputs the same on your system?

PS: This is the library I checked (it's from the updated v1.0.2 build):

$ sha256sum liblimboai.linux.editor.x86_64.so
d5248b1874712d8a45899f5db466ff4a03129a03a59b8429fb6333a87bf86b2e  liblimboai.linux.editor.x86_64.so

EDIT:
This is the output on the libstdc++ from the buildroot I'm using:

$ strings libstdc++.so | grep GLIBCXX_`
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH

$ strings liblimboai.linux.editor.x86_64.so | grep GLIBCXX
strings: 'liblimboai.linux.editor.x86_64.so': No such file

$ strings libstdc++.so | grep GLIBCXX
strings: 'libstdc++.so': No such file

$ strings /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_DEBUG_MESSAGE_LENGTH

Does there need to be a Environment Path made to the shared object? Also you should know i using mx-linux 23 if that helps.

$ strings liblimboai.linux.editor.x86_64.so | grep GLIBCXX strings: 'liblimboai.linux.editor.x86_64.so': No such file

You need to run it from inside the res://addons/limboai/bin/ folder, or use the absolute path to that file.

Judging by the output you provided, the updated build should work for you. Can you try deleting the addons/limboai in file manager and check the updated version from this package: https://github.com/limbonaut/limboai/releases/download/v1.0.2/limboai+v1.0.2.gdextension-4.2.zip?

It crashed godot

$ strings liblimboai.linux.editor.x86_64.so | grep GLIBCXX
GLIBCXX_3.4.32
GLIBCXX_3.4.18
GLIBCXX_3.4.29
GLIBCXX_3.4
GLIBCXX_3.4.15

It crashed godot

It might if you do it while godot is running. Did it help?

Try these steps (I checked in VM with MX Linux 23.3, and this worked for me):

  1. Make sure you're using the latest stable version of the Godot editor.
  2. Create a new project for your experiments with LimboAI.
  3. In Godot, click AssetLib tab at the top of the screen and search for LimboAI. Download it. LimboAI plugin will be downloaded with the demo project files. Don't mind the errors printed at this point, this is due to the extension library not being loaded just yet.
  4. Reload your project with Project -> Reload project. There shouldn't be any errors printed now.
  5. In the project files, locate a scene file called showcase.tscn and run it. It's the demo's entry point.

yes that worked without errors. does that mean i cant use limboai compiled into the editor or that maybe one of the other addons is interfering with limboai? i had that happen the other day with terrain3d and orchestrator. orchestrator was causing the editor to crash when i tried to use terrain3d.

yes that worked without errors. does that mean i cant use limboai compiled into the editor or that maybe one of the other addons is interfering with limboai? i had that happen the other day with terrain3d and orchestrator. orchestrator was causing the editor to crash when i tried to use terrain3d.

Try the editor from the updated package: https://github.com/limbonaut/limboai/releases/download/v1.0.2/limboai+v1.0.2.godot-4.2.2.editor.linux.x86_64.zip
Just checked, it works for me in MX Linux 23.3.

yes that worked without errors. does that mean i cant use limboai compiled into the editor or that maybe one of the other addons is interfering with limboai? i had that happen the other day with terrain3d and orchestrator. orchestrator was causing the editor to crash when i tried to use terrain3d.

BTW if you are using custom editor build, you SHOULDN'T put the extension into your project. LimboAI's functionality is built-in into the editor binary and the custom templates. In other words, you shouldn't have res://addons/limboai folder in your project.

yes that worked, but is there a .Net version to use?

This is the updated release: https://github.com/limbonaut/limboai/releases/tag/v1.0.2
I rebuilt the packages using the new toolchain, if that one worked for you, then the .NET one should as well.

ok thanks alot for your help. I hope i wasnt too much of a pain.

Not a problem, did it work for you?

yes working fine now. Thanks again!

Thanks for reporting. I changed the build process, so the future builds should be compatible with older versions of libc++.