Becoming a Thrive developer

dpkg -l | grep libstdc++
ii  libstdc++-11-dev:amd64                     11.4.0-1ubuntu1~22.04                   amd64        GNU Standard C++ Library v3 (development files)
ii  libstdc++6:amd64                           12.3.0-1ubuntu1~22.04                   amd64        GNU Standard C++ Library v3

It seems I don’t only have the runtime.

Quick Google brings up this: ubuntu - "/usr/bin/ld: cannot find -lstdc++: No such file or directory" on running flutter linux app - Stack Overflow

So you might have a different libstdc++ installed than what the linker wants to look for.

This solution helped. There are lots of building CXX object lines. But I have another error about linker name. I’ll try to solve it myself first.

2 Likes

After using the command:

dotnet run --project Scripts -- native Build -d

if someone has the following error:

clang: error: invalid linker name in argument '-fuse-ld=lld'

To get rid of it installing lld might help:

sudo apt-get install lld

It actually helped me.

Here is what I’ve got:

(gdb) bt
#0  0x00007fff20ead7bf in ?? () from /home/artem/Desktop/Thrive/native_libs/distributable/linux/ThriveNative/12/release/lib/libthrive_native_without_avx.so
#1  0x00007ffff7fc947e in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffdec8, env=env@entry=0x7fffffffded8) at ./elf/dl-init.c:70
#2  0x00007ffff7fc9568 in call_init (env=0x7fffffffded8, argv=0x7fffffffdec8, argc=1, l=<optimized out>) at ./elf/dl-init.c:33
#3  _dl_init (main_map=0xa93d090, argc=1, argv=0x7fffffffdec8, env=0x7fffffffded8) at ./elf/dl-init.c:117
#4  0x00007ffff7d74af5 in __GI__dl_catch_exception (exception=<optimized out>, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:182
#5  0x00007ffff7fd0ff6 in dl_open_worker (a=0x7fffffffba40) at ./elf/dl-open.c:808
#6  dl_open_worker (a=a@entry=0x7fffffffba40) at ./elf/dl-open.c:771
#7  0x00007ffff7d74a98 in __GI__dl_catch_exception (exception=<optimized out>, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
#8  0x00007ffff7fd134e in _dl_open (file=<optimized out>, mode=-2147483647, caller_dlopen=0x7fffaf5e5ddb, nsid=-2, argc=1, argv=<optimized out>, env=0x7fffffffded8) at ./elf/dl-open.c:883
#9  0x00007ffff7c9063c in dlopen_doit (a=a@entry=0x7fffffffbcb0) at ./dlfcn/dlopen.c:56
#10 0x00007ffff7d74a98 in __GI__dl_catch_exception (exception=exception@entry=0x7fffffffbc10, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
#11 0x00007ffff7d74b63 in __GI__dl_catch_error (objname=0x7fffffffbc68, errstring=0x7fffffffbc70, mallocedp=0x7fffffffbc67, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:227
#12 0x00007ffff7c9012e in _dlerror_run (operate=operate@entry=0x7ffff7c905e0 <dlopen_doit>, args=args@entry=0x7fffffffbcb0) at ./dlfcn/dlerror.c:138
#13 0x00007ffff7c906c8 in dlopen_implementation (dl_caller=<optimized out>, mode=<optimized out>, file=<optimized out>) at ./dlfcn/dlopen.c:71
#14 ___dlopen (file=<optimized out>, mode=<optimized out>) at ./dlfcn/dlopen.c:81
#15 0x00007fffaf5e5ddb in ?? () from /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so
#16 0x00007fffaf367736 in ?? () from /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so
#17 0x00007fffaf367589 in ?? () from /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so
#18 0x00007fffaf3692e4 in ?? () from /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so
#19 0x00007fff30298782 in ?? ()
#20 0x20656c6261747562 in ?? ()
#21 0x00000000016f61d9 in ?? ()
#22 0x0000000000000000 in ?? ()

It seems like there’s no debug symbols for libthrive_native_without_avx.so for some reason. It looks like it is loading still from the distributable version (i.e. not the one you compiled) native_libs/distributable/linux/ThriveNative/12/release/lib/libthrive_native_without_avx.so.

Could you try deleting the whole Thrive/native_libs/distributable directory to make sure the game will only be able to load a library version you compile? And make sure when you build to use the -d argument to make a debug version of the library to make it more likely to have a useful backtrace.

I have two folders in the native_libs directory: distributable and linux. The last one was created after using the build command with the -d argument.

Anyway I’ll delete the first one and try again.

1 Like

This time I managed to see the main menu for one second :smiley: but then the window disappeared.

Before using bt there was new information as well. Messages about not being able to find or load library, then lots of warnings and at the end errors. I think this is because I cut the distributable folder.

The backtrace is here:

(gdb) bt
#0  0x0000000000a70a4c in ?? ()
#1  0x0000000003b909d2 in ?? ()
#2  0x00000000013867ce in ?? ()
#3  0x00000000039ab321 in ?? ()
#4  0x00000000004d96a9 in ?? ()
#5  0x00000000004aaff7 in ?? ()
#6  0x000000000041e814 in ?? ()
#7  0x00007ffff7c29d90 in __libc_start_call_main (main=main@entry=0x41e760, argc=argc@entry=1, argv=argv@entry=0x7fffffffdec8) at ../sysdeps/nptl/libc_start_call_main.h:58
#8  0x00007ffff7c29e40 in __libc_start_main_impl (main=0x41e760, argc=1, argv=0x7fffffffdec8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdeb8)
    at ../csu/libc-start.c:392
#9  0x000000000042b25a in ?? ()

Btw, you should edit your previous post if you are about to double post with new information.

If any of them was a message that it was falling back to default library search, then that means that the library will not load at all. I suspect that is the case, and that the callstack is completely useless because it is just a Godot crash problem and not a Thrive thing. You need to get the library load path searching to work next.

I just realized that by default the build will build the AVX variant. So you need to actually compile with:

dotnet run --project Scripts -- native Build --disable-avx -d

That should work, but I’m not sure if I’ve fully tested that option so there might be a bug in there that I’d need to fix.

Yes, there was a message about falling back. Here is some part of it:

Library not found yet at expected paths, trying a distributable version
Couldn't find library at any expected path, falling back to default load behaviour, which is unlikely to find anything
Thrive native library load failed due to: Unable to load shared library 'thrive_native' or one of its dependencies.

And then there are lots of warning messages and other stuff.

Before cutting the distributable one the message was:

Library not found yet at expected paths, trying a distributable version

Thread 1 "Godot_v4.2.2-st" received signal SIGILL, Illegal instruction.
0x00007fff20ead7bf in ?? () from /home/artem/Desktop/Thrive/native_libs/distributable/linux/ThriveNative/12/release/lib/libthrive_native_without_avx.so

After that I used bt.

I can add the info with warnings and errors before executing bt to my previous post. No problem. There are just a lot of lines so I thought it would be too much. So should I add it?

The distributable folder is cut. Now do I have to just run the command from your last post and then again do the same to get a backtrace?

Compiling with AVX off should create a library with a name that the game should want to load on your computer. If it does, then yes getting a backtrace would finally start pointing towards the real issue. If the library doesn’t get loaded then the backtraces are not useful as it is just some Godot bugs (probably: Using `InputMap.ActionGetEvents` with StringName from `InputMap.GetActions` causes a crash in Godot 4.2.2 mono · Issue #89941 · godotengine/godot · GitHub).

Yes, with AVX off I got a library named libthrive_native_without_avx. The previous one in this folder I deleted not to be loaded.

Unfortunately, the result is the same:

Cannot use full-speed Thrive native library due to: CPU is missing AVX 1 extension instruction support
CPU is missing AVX 2 extension instruction support
Using slower Thrive native library that doesn't rely on as new CPU instructions
Checked that required CPU features are present
Library not found yet at expected paths, trying a distributable version
Couldn't find library at any expected path, falling back to default load behaviour, which is unlikely to find anything
Thrive native library load failed due to: Unable to load shared library 'thrive_native' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native: cannot open shared object file: No such file or directory

Native library is missing (or unloadable). If you downloaded a compiled Thrive version, this version (may be) broken. If you are trying to compile Thrive you need to compile the native modules as well
Please do not report to us the next unhandled exception error about this, unless this is an official Thrive release that has this issue
On Linux please verify you have new enough GLIBC version as otherwise the library is unloadable. Updating your distro to the latest version should resolve the issue as long as you are using a supported distro.
System.DllNotFoundException: Unable to load shared library 'thrive_native' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native: cannot open shared object file: No such file or directory

   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryByName(String libraryName, Assembly assembly, Nullable`1 searchPath, Boolean throwOnError)
   at NativeInterop.DllImportResolver(String libraryName, Assembly assembly, Nullable`1 searchPath) in /home/artem/Desktop/Thrive/src/native/interop/NativeInterop.cs:line 440
   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryCallbackStub(String libraryName, Assembly assembly, Boolean hasDllImportSearchPathFlags, UInt32 dllImportSearchPathFlags)
   at NativeMethods.CheckAPIVersion()
   at NativeInterop.Load() in /home/artem/Desktop/Thrive/src/native/interop/NativeInterop.cs:line 96
   at StartupActions..ctor() in /home/artem/Desktop/Thrive/src/engine/StartupActions.cs:line 98
TODO: re-add harmony init
WARNING: res://src/gui_common/fonts/Body-Regular-Smaller.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostSmaller.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Small.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Small-Shadow.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-AlmostSmall.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Small-Red.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostTiny.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Smaller.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Tiny.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Thrive-Small.tres:3 - ext_resource, invalid UID: uid://vuty5mlul1kf - using text path instead: res://assets/fonts/thrive.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Normal.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostSmall.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Small-Black.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Small.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/general/NewGameSettings.tscn:7 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostTiny-Red.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
Skipping settings apply as the game should close soon
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
Preventing startup due to StartupActions failing
Closing Thrive "normally" due to a detected problem
No SteamClient class found, not initializing Steam
SimulationParameters are good
WARNING: res://src/gui_common/ChemicalEquation.tscn:7 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
No build info file exists, no more build info exists
Beginning Thrive news feed fetch
[New Thread 0x7fbe75fff640 (LWP 22626)]
[New Thread 0x7fbe757fe640 (LWP 22627)]
TaskExecutor started with parallel job count: 2
[New Thread 0x7fbe749ff640 (LWP 22628)]
[New Thread 0x7fbe5bffd640 (LWP 22629)]
[New Thread 0x7fff312fe640 (LWP 22630)]
[New Thread 0x7fbe5b7fc640 (LWP 22631)]
[New Thread 0x7fbe5affb640 (LWP 22632)]
[New Thread 0x7fbe5a7fa640 (LWP 22633)]
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
Skipping main menu initialization due to quitting
[Thread 0x7fffe73fd640 (LWP 22606) exited]
[New Thread 0x7fffe73fd640 (LWP 22634)]
Loading mod Nodes into the scene tree
Skip native side debug draw unregister as the native library is not loaded
Shutting down native library
Skipping native library shutdown as it was not fully loaded
Shutdown actions complete
[Thread 0x7fffb2ffd640 (LWP 22613) exited]
[Thread 0x7fffb37fe640 (LWP 22612) exited]
[Thread 0x7fffc3fff640 (LWP 22611) exited]
[Thread 0x7fffccffd640 (LWP 22610) exited]
ERROR: 2 RID allocations of type 'N10RendererRD14TextureStorage7TextureE' were leaked at exit.
[Thread 0x7fffe4ff7640 (LWP 22607) exited]
[Thread 0x7fffe73fd640 (LWP 22634) exited]
WARNING: 4 RIDs of type "Texture" were leaked.
     at: finalize (drivers/vulkan/rendering_device_vulkan.cpp:9655)
[Thread 0x7fffe7bfe640 (LWP 22600) exited]
[Thread 0x7fffe57f8640 (LWP 22605) exited]
[Thread 0x7fffe5ff9640 (LWP 22604) exited]
[Thread 0x7fffe67fa640 (LWP 22603) exited]
[Thread 0x7fffe83ff640 (LWP 22599) exited]
ERROR: Parameter "RenderingServer::get_singleton()" is null.
   at: ~CompressedTexture2D (scene/resources/compressed_texture.cpp:464)
ERROR: Parameter "RenderingServer::get_singleton()" is null.
   at: ~CompressedTexture2D (scene/resources/compressed_texture.cpp:464)
[Thread 0x7fffcffff640 (LWP 22608) exited]

Thread 1 "Godot_v4.2.2-st" received signal SIGSEGV, Segmentation fault.
0x00000000042a4cef in ?? ()
(gdb) bt
#0  0x00000000042a4cef in ?? ()
#1  0x0000000000a70942 in ?? ()
#2  0x0000000003b909d2 in ?? ()
#3  0x00000000013867ce in ?? ()
#4  0x00000000039ab321 in ?? ()
#5  0x00000000004d96a9 in ?? ()
#6  0x00000000004aaff7 in ?? ()
#7  0x000000000041e814 in ?? ()
#8  0x00007ffff7c29d90 in __libc_start_call_main (main=main@entry=0x41e760, argc=argc@entry=1, argv=argv@entry=0x7fffffffdec8) at ../sysdeps/nptl/libc_start_call_main.h:58
#9  0x00007ffff7c29e40 in __libc_start_main_impl (main=0x41e760, argc=1, argv=0x7fffffffdec8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdeb8)
    at ../csu/libc-start.c:392
#10 0x000000000042b25a in ?? ()

Will be thinking what to do next.

Make sure your local repo is clean (git diff shows no changes). And you are on the latest master branch commit:

$ git log -n 1
commit 9aa363f1d33e34e82ed7649dd0b9744745c386aa (HEAD -> master, origin/master)
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Apr 23 14:39:56 2024 +0300

I just double checked and for me running dotnet run --project Scripts -- native Build -d --disable-avx builds and installs:

-- Installing: /home/hhyyrylainen/Projects/Thrive/native_libs/linux/14/debug/lib/libthrive_native_without_avx.so

Which the game can then load correctly.

Edit: I just made one more commit to master (529e930976c6f695bbcc3093a216492ae64c398b) that allows enabling extra debug printing related to library loading. So if you are on that latest commit you can go in src/native/interop/NativeInterop.cs and modify

// #define DEBUG_LIBRARY_LOAD

to

#define DEBUG_LIBRARY_LOAD

To get extra logging.

Actually, thank you for your help. I appreciate it much.

1 Like

I’ve modified NativeInterop.cs and defined DEBUG_LIBRARY_LOAD. The result is:

GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/artem/Downloads/Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64...
(No debugging symbols found in /home/artem/Downloads/Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64)
(gdb) r
Starting program: /home/artem/Downloads/Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Detaching after vfork from child process 47851]
[New Thread 0x7ffff73ff640 (LWP 47853)]
[New Thread 0x7ffff6bfe640 (LWP 47854)]
[New Thread 0x7ffff63fd640 (LWP 47855)]
[New Thread 0x7ffff5bfc640 (LWP 47856)]
[New Thread 0x7ffff53fb640 (LWP 47857)]
Godot Engine v4.2.2.stable.mono.official.15073afe3 - https://godotengine.org
[New Thread 0x7fffe83ff640 (LWP 47858)]
Vulkan API 1.3.238 - Forward+ - Using Vulkan Device #0: Intel - Intel(R) UHD Graphics (JSL)
[New Thread 0x7fffe7bfe640 (LWP 47859)]
[New Thread 0x7fffe73fd640 (LWP 47860)]
[Thread 0x7fffe73fd640 (LWP 47860) exited]
[New Thread 0x7fffe73fd640 (LWP 47861)]
[New Thread 0x7fffe67fa640 (LWP 47862)]
[New Thread 0x7fffe5ff9640 (LWP 47863)]
[New Thread 0x7fffe57f8640 (LWP 47864)]
[Thread 0x7fffe73fd640 (LWP 47861) exited]
[New Thread 0x7fffe73fd640 (LWP 47865)]
[New Thread 0x7fffe4ff7640 (LWP 47866)]
[New Thread 0x7fffcffff640 (LWP 47867)]
[New Thread 0x7fffcd7fe640 (LWP 47868)]
[Thread 0x7fffcd7fe640 (LWP 47868) exited]
[New Thread 0x7fffccffd640 (LWP 47869)]
[New Thread 0x7fffc3fff640 (LWP 47870)]
[New Thread 0x7fffb37fe640 (LWP 47871)]
 
[New Thread 0x7fffb2ffd640 (LWP 47872)]
[New Thread 0x7fffb1fff640 (LWP 47873)]
[New Thread 0x7fffb17fe640 (LWP 47874)]
[New Thread 0x7fffb0ffd640 (LWP 47875)]
[New Thread 0x7fff9bfff640 (LWP 47876)]
[New Thread 0x7fff9b7fe640 (LWP 47877)]
[New Thread 0x7fff9affd640 (LWP 47878)]
[New Thread 0x7fff3300f640 (LWP 47879)]
[New Thread 0x7fff31bff640 (LWP 47880)]
[New Thread 0x7fff30dff640 (LWP 47881)]
This is Thrive version: 0.6.6.0-alpha+381c8d8c6f5aa10a5e87ce0124583e5ef968e2eb (see below for more build info)
TODO: reimplement unhandled exception logger
Startup C# locale is: en-US Godot locale is: en_US
user:// directory is: /home/artem/.local/share/Thrive
Game logs are written to: /home/artem/.local/share/Thrive/logs latest log is 'log.txt'
Cannot use full-speed Thrive native library due to: CPU is missing AVX 1 extension instruction support
CPU is missing AVX 2 extension instruction support
Using slower Thrive native library that doesn't rely on as new CPU instructions
Checked that required CPU features are present
Library not found yet at expected paths, trying a distributable version
Couldn't find library at any expected path, falling back to default load behaviour, which is unlikely to find anything
Thrive native library load failed due to: Unable to load shared library 'thrive_native' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native: cannot open shared object file: No such file or directory

Native library is missing (or unloadable). If you downloaded a compiled Thrive version, this version (may be) broken. If you are trying to compile Thrive you need to compile the native modules as well
Please do not report to us the next unhandled exception error about this, unless this is an official Thrive release that has this issue
On Linux please verify you have new enough GLIBC version as otherwise the library is unloadable. Updating your distro to the latest version should resolve the issue as long as you are using a supported distro.
System.DllNotFoundException: Unable to load shared library 'thrive_native' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native.so: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/thrive_native: cannot open shared object file: No such file or directory
/usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libthrive_native: cannot open shared object file: No such file or directory

   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryByName(String libraryName, Assembly assembly, Nullable`1 searchPath, Boolean throwOnError)
   at NativeInterop.DllImportResolver(String libraryName, Assembly assembly, Nullable`1 searchPath) in /home/artem/Desktop/Thrive/src/native/interop/NativeInterop.cs:line 440
   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryCallbackStub(String libraryName, Assembly assembly, Boolean hasDllImportSearchPathFlags, UInt32 dllImportSearchPathFlags)
   at NativeMethods.CheckAPIVersion()
   at NativeInterop.Load() in /home/artem/Desktop/Thrive/src/native/interop/NativeInterop.cs:line 96
   at StartupActions..ctor() in /home/artem/Desktop/Thrive/src/engine/StartupActions.cs:line 98
TODO: re-add harmony init
WARNING: res://src/gui_common/fonts/Body-Regular-Smaller.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostSmaller.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Small.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Small-Shadow.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-AlmostSmall.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Small-Red.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostTiny.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Smaller.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Tiny.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Thrive-Small.tres:3 - ext_resource, invalid UID: uid://vuty5mlul1kf - using text path instead: res://assets/fonts/thrive.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Normal.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostSmall.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-Small-Black.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Bold-Small.tres:3 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/general/NewGameSettings.tscn:7 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
WARNING: res://src/gui_common/fonts/Body-Regular-AlmostTiny-Red.tres:3 - ext_resource, invalid UID: uid://s8m5c8resd50 - using text path instead: res://assets/fonts/Lato-Regular.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
Skipping settings apply as the game should close soon
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
Preventing startup due to StartupActions failing
Closing Thrive "normally" due to a detected problem
No SteamClient class found, not initializing Steam
SimulationParameters are good
WARNING: res://src/gui_common/ChemicalEquation.tscn:7 - ext_resource, invalid UID: uid://b62thy1er4r08 - using text path instead: res://assets/fonts/Lato-Bold.ttf
     at: load (scene/resources/resource_format_text.cpp:448)
No build info file exists, no more build info exists
Beginning Thrive news feed fetch
[New Thread 0x7fbe75fff640 (LWP 47882)]
[New Thread 0x7fbe757fe640 (LWP 47883)]
TaskExecutor started with parallel job count: 2
[New Thread 0x7fbe749ff640 (LWP 47884)]
[New Thread 0x7fbe5bffd640 (LWP 47885)]
[New Thread 0x7fff312fe640 (LWP 47886)]
[New Thread 0x7fbe5b7fc640 (LWP 47887)]
[New Thread 0x7fbe5affb640 (LWP 47888)]
[New Thread 0x7fbe5a7fa640 (LWP 47889)]
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
WARNING: Nodes with non-equal opposite anchors will have their size overridden after _ready(). 
If you want to set size, change the anchors or consider using set_deferred().
     at: _set_size (scene/gui/control.cpp:1442)
Skipping main menu initialization due to quitting
[Thread 0x7fffe73fd640 (LWP 47865) exited]
[New Thread 0x7fffe73fd640 (LWP 47890)]
Loading mod Nodes into the scene tree
Skip native side debug draw unregister as the native library is not loaded
Shutting down native library
Skipping native library shutdown as it was not fully loaded
Shutdown actions complete
[New Thread 0x7fbe59ff9640 (LWP 47891)]
[Thread 0x7fffb2ffd640 (LWP 47872) exited]
[Thread 0x7fffb37fe640 (LWP 47871) exited]
[Thread 0x7fffc3fff640 (LWP 47870) exited]
[Thread 0x7fffccffd640 (LWP 47869) exited]
ERROR: 2 RID allocations of type 'N10RendererRD14TextureStorage7TextureE' were leaked at exit.
[Thread 0x7fffe4ff7640 (LWP 47866) exited]
[Thread 0x7fffe73fd640 (LWP 47890) exited]
WARNING: 4 RIDs of type "Texture" were leaked.
     at: finalize (drivers/vulkan/rendering_device_vulkan.cpp:9655)
[Thread 0x7fffe7bfe640 (LWP 47859) exited]
[Thread 0x7fffe57f8640 (LWP 47864) exited]
[Thread 0x7fffe5ff9640 (LWP 47863) exited]
[Thread 0x7fffe67fa640 (LWP 47862) exited]
[Thread 0x7fffe83ff640 (LWP 47858) exited]
ERROR: Parameter "RenderingServer::get_singleton()" is null.
   at: ~CompressedTexture2D (scene/resources/compressed_texture.cpp:464)
ERROR: Parameter "RenderingServer::get_singleton()" is null.
   at: ~CompressedTexture2D (scene/resources/compressed_texture.cpp:464)
[Thread 0x7fffcffff640 (LWP 47867) exited]
ERROR: FATAL: Condition "!rc_owner" is true.
   at: _instance_binding_reference_callback (modules/mono/csharp_script.cpp:1379)

Thread 1 "Godot_v4.2.2-st" received signal SIGILL, Illegal instruction.
0x0000000000a70a4c in ?? ()
(gdb) bt
#0  0x0000000000a70a4c in ?? ()
#1  0x0000000003b909d2 in ?? ()
#2  0x00000000013867ce in ?? ()
#3  0x00000000039ab321 in ?? ()
#4  0x00000000004d96a9 in ?? ()
#5  0x00000000004aaff7 in ?? ()
#6  0x000000000041e814 in ?? ()
#7  0x00007ffff7c29d90 in __libc_start_call_main (main=main@entry=0x41e760, argc=argc@entry=1, argv=argv@entry=0x7fffffffdec8) at ../sysdeps/nptl/libc_start_call_main.h:58
#8  0x00007ffff7c29e40 in __libc_start_main_impl (main=0x41e760, argc=1, argv=0x7fffffffdec8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdeb8)
    at ../csu/libc-start.c:392
#9  0x000000000042b25a in ?? ()
(gdb) quit
A debugging session is active.

	Inferior 1 [process 47848] will be killed.

Quit anyway? (y or n) y

I don’t see any of if statements for DEBUG_LIBRARY_LOAD have been entered.

Just to remind:

  • After using dotnet run --project Scripts -- native Build -d --disable-avx I have the following:
Using debug versions of libraries (these are not always available for download)
Performing operation Build
Building ThriveNative for local use (Linux) with CMake (hopefully all native dependencies are installed)
-- Building without AVX support
-- Configured native library version 14
-- LTO is on for Thrive
-- Configuring done
-- Generating done
-- Build files have been written to: /home/artem/Desktop/Thrive/build-debug
Succeeded in configuring cmake project
Compiling...
Consolidate compiler generated dependencies of target Jolt
[ 90%] Built target Jolt
Consolidate compiler generated dependencies of target thrive_native
[100%] Built target thrive_native
Install the project...
-- Install configuration: "Debug"
-- Up-to-date: /home/artem/Desktop/Thrive/native_libs/linux/14/debug/lib/libthrive_native_without_avx.so
Successfully compiled library ThriveNative
Successfully performed operation on library: ThriveNative

So it was built and installed.

  • I cut the distributable folder so I only have this Thrive/native_libs/linux/14/debug/lib/libthrive_native_without_avx.so

What might it be why the library is not loaded?

That looks correct.

I actually don’t know how the new load attempts are not getting printed… Did you try running Thrive once through the Godot editor after that change? I ask because just running through gdb doesn’t recompile the C# code, so you might be running the old code still. Or using dotnet build can also recompile the game C# code. If that is not it then I think you either need a C# debugger or to go in the NativeInterop.cs file yourself and add GD.Print calls all over the place to trace the program execution.

1 Like

I’ve completely deleted the game and cloned it again.
Tried to run it in the editor, it didn’t work.

Then tried to run it in the terminal not in the debug mode, got the following:

Godot Engine v4.2.2.stable.mono.official.15073afe3 - https://godotengine.org
Vulkan API 1.3.238 - Forward+ - Using Vulkan Device #0: Intel - Intel(R) UHD Graphics (JSL)
 
This is Thrive version: 0.6.6.0 (see below for more build info)
TODO: reimplement unhandled exception logger
Startup C# locale is: en-US Godot locale is: en_US
user:// directory is: /home/artem/.local/share/Thrive
Game logs are written to: /home/artem/.local/share/Thrive/logs latest log is 'log.txt'
Cannot use full-speed Thrive native library due to: CPU is missing AVX 1 extension instruction support
CPU is missing AVX 2 extension instruction support
CPU is missing LZCNT support
CPU is missing BMI 1 (TZCNT) support
CPU is missing FMA support
Using slower Thrive native library that doesn't rely on as new CPU instructions
Checked that required CPU features are present
Library not found yet at expected paths, trying a distributable version

================================================================
handle_crash: Program crashed with signal 4
Engine version: Godot Engine v4.2.2.stable.mono.official (15073afe3856abd2aa1622492fe50026c7d63dc1)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so(+0x5dd2e1) [0x732ae09dd2e1] (??:0)
[2] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x732b11242520] (??:0)
[3] /home/artem/Desktop/Thrive/native_libs/distributable/linux/ThriveNative/14/release/lib/libthrive_native_without_avx.so(+0xaed3f) [0x732ab12aed3f] (??:0)
[4] /lib64/ld-linux-x86-64.so.2(+0x647e) [0x732b1164b47e] (??:0)
[5] /lib64/ld-linux-x86-64.so.2(+0x6568) [0x732b1164b568] (??:0)
[6] /lib/x86_64-linux-gnu/libc.so.6(_dl_catch_exception+0xe5) [0x732b11374af5] (??:0)
[7] /lib64/ld-linux-x86-64.so.2(+0xdff6) [0x732b11652ff6] (??:0)
[8] /lib/x86_64-linux-gnu/libc.so.6(_dl_catch_exception+0x88) [0x732b11374a98] (??:0)
[9] /lib64/ld-linux-x86-64.so.2(+0xe34e) [0x732b1165334e] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(+0x9063c) [0x732b1129063c] (??:0)
[11] /lib/x86_64-linux-gnu/libc.so.6(_dl_catch_exception+0x88) [0x732b11374a98] (??:0)
[12] /lib/x86_64-linux-gnu/libc.so.6(_dl_catch_error+0x33) [0x732b11374b63] (??:0)
[13] /lib/x86_64-linux-gnu/libc.so.6(+0x9012e) [0x732b1129012e] (??:0)
[14] /lib/x86_64-linux-gnu/libc.so.6(dlopen+0x48) [0x732b112906c8] (??:0)
[15] /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so(+0x5e5ddb) [0x732ae09e5ddb] (??:0)
[16] /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so(+0x367736) [0x732ae0767736] (??:0)
[17] /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so(+0x367589) [0x732ae0767589] (??:0)
[18] /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.3/libcoreclr.so(+0x3692e4) [0x732ae07692e4] (??:0)
[19] [0x732a61698782] (??:0)
-- END OF BACKTRACE --
================================================================
Aborted (core dumped)

Then I executed dotnet run --project Scripts -- native Build --disable-avx -d. The result:

Installing: /home/artem/Desktop/Thrive/native_libs/linux/14/debug/lib/libthrive_native_without_avx.so

After that I executed gbd godot which actually ran the game successfully and I spent some time playing it. The result of the command is:

GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/artem/Downloads/Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64...
(No debugging symbols found in /home/artem/Downloads/Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64)
(gdb) r
Starting program: /home/artem/Downloads/Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Detaching after vfork from child process 69564]
[New Thread 0x7ffff73ff640 (LWP 69566)]
[New Thread 0x7ffff6bfe640 (LWP 69567)]
[New Thread 0x7ffff63fd640 (LWP 69568)]
[New Thread 0x7ffff5bfc640 (LWP 69569)]
[New Thread 0x7ffff53fb640 (LWP 69570)]
Godot Engine v4.2.2.stable.mono.official.15073afe3 - https://godotengine.org
[New Thread 0x7fffe83ff640 (LWP 69571)]
Vulkan API 1.3.238 - Forward+ - Using Vulkan Device #0: Intel - Intel(R) UHD Graphics (JSL)
[New Thread 0x7fffe7bfe640 (LWP 69572)]
[New Thread 0x7fffe73fd640 (LWP 69573)]
[Thread 0x7fffe73fd640 (LWP 69573) exited]
[New Thread 0x7fffe73fd640 (LWP 69574)]
[New Thread 0x7fffe67fa640 (LWP 69575)]
[New Thread 0x7fffe5ff9640 (LWP 69576)]
[New Thread 0x7fffe57f8640 (LWP 69577)]
[Thread 0x7fffe73fd640 (LWP 69574) exited]
[New Thread 0x7fffe73fd640 (LWP 69578)]
[New Thread 0x7fffe4ff7640 (LWP 69579)]
[New Thread 0x7fffcffff640 (LWP 69580)]
[New Thread 0x7fffcd7fe640 (LWP 69581)]
[New Thread 0x7fffccffd640 (LWP 69582)]
[New Thread 0x7fffb3fff640 (LWP 69583)]
 
[New Thread 0x7fffb37fe640 (LWP 69584)]
[New Thread 0x7fffb27ff640 (LWP 69585)]
[New Thread 0x7fffb1ffe640 (LWP 69586)]
[New Thread 0x7fffb17fd640 (LWP 69587)]
[New Thread 0x7fffb0ffc640 (LWP 69588)]
[New Thread 0x7fff9bfff640 (LWP 69589)]
[New Thread 0x7fff9b7fe640 (LWP 69590)]
[New Thread 0x7fff3380f640 (LWP 69591)]
[New Thread 0x7fff323ff640 (LWP 69592)]
[New Thread 0x7fff315ff640 (LWP 69593)]
This is Thrive version: 0.6.6.0 (see below for more build info)
TODO: reimplement unhandled exception logger
Startup C# locale is: en-US Godot locale is: en_US
user:// directory is: /home/artem/.local/share/Thrive
Game logs are written to: /home/artem/.local/share/Thrive/logs latest log is 'log.txt'
Cannot use full-speed Thrive native library due to: CPU is missing AVX 1 extension instruction support
CPU is missing AVX 2 extension instruction support
CPU is missing LZCNT support
CPU is missing BMI 1 (TZCNT) support
CPU is missing FMA support
Using slower Thrive native library that doesn't rely on as new CPU instructions
Checked that required CPU features are present
Loaded native Thrive library version 14
Doing delayed apply for some settings
Set audio output device to: Default
Set C# locale to: en-US Godot locale is: en
[Thread 0x7fffe73fd640 (LWP 69578) exited]
[New Thread 0x7fffe73fd640 (LWP 69594)]
[NATIVE] Native log message forwarding setup
[New Thread 0x7fbe8e1ff640 (LWP 69595)]
[NATIVE] Native library init succeeded
TODO: re-add harmony init
No SteamClient class found, not initializing Steam
SimulationParameters are good
No build info file exists, no more build info exists
Beginning Thrive news feed fetch
[New Thread 0x7fbe7d3fe640 (LWP 69596)]
[New Thread 0x7fbe7cbfd640 (LWP 69597)]
[NATIVE] Set native thread count: 1
TaskExecutor started with parallel job count: 2
[New Thread 0x7fbe73bff640 (LWP 69598)]
[New Thread 0x7fbe733fe640 (LWP 69599)]
[New Thread 0x7fff32f7b640 (LWP 69600)]
[New Thread 0x7fbe72bfd640 (LWP 69601)]
[New Thread 0x7fbe59ffe640 (LWP 69602)]
[New Thread 0x7fbe597fd640 (LWP 69603)]
We are not started through the Thrive Launcher
[Thread 0x7fffe73fd640 (LWP 69594) exited]
[New Thread 0x7fffe73fd640 (LWP 69604)]
[Thread 0x7fffe73fd640 (LWP 69604) exited]
[New Thread 0x7fffe73fd640 (LWP 69605)]
[New Thread 0x7fbe58ffc640 (LWP 69606)]
Skipping clearing an UI input action: ui_text_backspace_all_to_left
Loading mod Nodes into the scene tree
[Thread 0x7fff323ff640 (LWP 69592) exited]
[New Thread 0x7fff323ff640 (LWP 69607)]
[Thread 0x7fff323ff640 (LWP 69607) exited]
[New Thread 0x7fff323ff640 (LWP 69609)]
[Thread 0x7fff315ff640 (LWP 69593) exited]
[Thread 0x7fff323ff640 (LWP 69609) exited]
[New Thread 0x7fff323ff640 (LWP 69610)]
[Thread 0x7fbe597fd640 (LWP 69603) exited]
[Thread 0x7fbe72bfd640 (LWP 69601) exited]
[Thread 0x7fff323ff640 (LWP 69610) exited]
[New Thread 0x7fff323ff640 (LWP 69624)]
Jukebox now playing from: Menu
WARNING: Godot 3.x SpatialMaterial remapped parameter not found: flags_ensure_correct_normals
     at: _set (scene/resources/material.cpp:3210)
Jukebox: starting track: res://assets/sounds/main-menu-theme-1.ogg position: 0
[Thread 0x7fff323ff640 (LWP 69624) exited]
[New Thread 0x7fff323ff640 (LWP 69625)]
[Thread 0x7fbe733fe640 (LWP 69599) exited]
[Thread 0x7fbe58ffc640 (LWP 69606) exited]
Startup successful, removing startup info file
------------ Thrive Startup Succeeded ------------

2 Likes

So it now works, right? The problem likely was that the latest code was not compiled before so it didn’t couldn’t load the library correctly. I just put out 0.6.6 officially which should have all of the working library check and instruction reductions.

Yes, but using the debug mode. I’ll need to check whether it will work otherwise when running the game in the terminal and in the editor.

I don’t understand why it’s working in the debug mode and not working otherwise. For the former the library could be found but for the latter not.

Debug mode looks for the debug variants of the libraries (and if not found then loads normal variants). Normal mode will not even look for the debug library version at all.

1 Like