cboe icon indicating copy to clipboard operation
cboe copied to clipboard

Scons on linux not detecting TGUI

Open bobbens opened this issue 11 months ago • 9 comments

Compiling with scons on linux builds TGUI, but it doesn't seem to find the library it just built.

Checking for C++ library libtgui... no
TGUI is missing, even after trying to build it!

bobbens avatar Mar 29 '25 02:03 bobbens

Hmm. Our CI builds TGUI but it might be doing it differently than the SConstruct tries to automatically do it. Right now I don't have Linux installed to investigate or fix this, all I know is that it worked for me several months ago when I was working on Linux.

NQNStudios avatar Mar 29 '25 02:03 NQNStudios

Hmm. Our CI builds TGUI but it might be doing it differently than the SConstruct tries to automatically do it. Right now I don't have Linux installed to investigate or fix this, all I know is that it worked for me several months ago when I was working on Linux.

The CI seems to install the built TGUI system-wide, and use that. So I think the script isn't designed to find the local one. I think it would also make sense to build it statically instead of as a shared library, but I have no idea how scons works at all.

bobbens avatar Mar 29 '25 02:03 bobbens

@bobbens Are you planning to contribute to the project? If this is blocking anyone from fiddling with the code and potentially helping out, I can prioritize fixing it (maybe Windows Subsystem for Linux would be good enough for me to troubleshoot the build itself without setting up a whole new Linux machine).

A quick fix idea: Could you cd into deps/TGUI after it's built, and try sudo make install to make it systemwide as the CI does?

NQNStudios avatar Mar 30 '25 16:03 NQNStudios

@bobbens Are you planning to contribute to the project? If this is blocking anyone from fiddling with the code and potentially helping out, I can prioritize fixing it (maybe Windows Subsystem for Linux would be good enough for me to troubleshoot the build itself without setting up a whole new Linux machine).

Honestly, I don't think I will be working on it much at all.

A quick fix idea: Could you cd into deps/TGUI after it's built, and try sudo make install to make it systemwide as the CI does?

I installed tgui 0.9.1 via aur, and it doesn't seem to pick that up either, despite pkg-config clearly working.

I got it working a few months ago (probably modified something), but can't anymore.

bobbens avatar Mar 31 '25 02:03 bobbens

Scons is compiling a specific version of TGUI with C++14, which we're currently locked to & not able to easily upgrade. That's why the AUR version won't work. Several months ago might have been back when we were still up to date with TGUI.

NQNStudios avatar Mar 31 '25 12:03 NQNStudios

But if you're just looking to play the game, I would wait for more bugs to be fixed and the build to be stabilized regardless.

NQNStudios avatar Mar 31 '25 12:03 NQNStudios

Scons is compiling a specific version of TGUI with C++14, which we're currently locked to & not able to easily upgrade. That's why the AUR version won't work. Several months ago might have been back when we were still up to date with TGUI.

Yes, that was just another attempt, since AUR is also running 0.9 (it's not updated), so I was wondering if it could be compatible. Either way, the fact it doesn't find the locally compiled dynamic library is an issue. I tried to look into it a bit, but I am not familiar at all with scons, and the documentation seems sparse at best. I briefly toyed with the idea of trying to move it to meson (which as far as build systems go, is the least horrible I feel), but the complexity of the SConstruct with the legacy quirks of the codebase make it feel like out of my realm of possibility.

But if you're just looking to play the game, I would wait for more bugs to be fixed and the build to be stabilized regardless.

Yes, I am in no hurry. I just had a really big "Exile 2" need, and was wondering if this linux native version with a less clunkier interface could fill the need.

Either way, keep up the progress, I look forward to playing this in the future.

bobbens avatar Mar 31 '25 12:03 bobbens

Several months ago might have been back when we were still up to date with TGUI.

I think we've been locked into an outdated version for at least a year, actually. Likely more.

I just had a really big "Exile 2" need, and was wondering if this linux native version with a less clunkier interface could fill the need.

Though it doesn't have Exile 2 specifically. I would like to port Exile 2 to the engine someday, if that's allowed, but that's a very distant thought.

CelticMinstrel avatar Apr 02 '25 00:04 CelticMinstrel

I just had a really big "Exile 2" need, and was wondering if this linux native version with a less clunkier interface could fill the need.

Though it doesn't have Exile 2 specifically. I would like to port Exile 2 to the engine someday, if that's allowed, but that's a very distant thought.

That would be quite cool to support Exile 2 data files / port. Probably unbridled nostalgia talking, but I find it to be the best of the Exile series. Never really got into the isometricness of the remakes sadly.

Really tempted to start up a re-imagining of Exile 2 open source project, but alas, my waning free time does not permit me to seriously undertake such an endeavour (or does it? 💀 )

bobbens avatar Apr 03 '25 08:04 bobbens