Open majenkotech opened 10 months ago
It's probably a problem with the linker. I will refactor the third-party compilation and solve this in the process.
@majenkotech Is it working on Arch Linux now?
Alas not, I am still seeing the same FT_* linker problem.
Have you tried without production and lto options?
Originally I had tried many permutations. I shall try more later on tonight with the new version.
With no production and no LTO (just scons platform=linuxbsd target=editor
) it's still failing. Here's the full error - it's a bit long I'm afraid....
I can't reproduce it on ubuntu. I'm thinking about letting each user compile third-party libraries on their own. It's too painfull compile for each system.
Maybe it would be simpler if I just knock up an Ubuntu VM for compilation purposes. I'm more than happy to run purely with system-installed libraries if that's a simpler thing to arrange. I don't need portability for what I do with Godot.
You can guide scons to the folder containing the compiled Boost and Oopenssl libraries. Open the config.cfg file, mark all options as false. After that, open Scsub. set the paths to the libs and includes on your system and compile again. It should be enought to compile the module on your system.
Hmm, no, that doesn't seem to make any difference. I'm trying in an Ubuntu VM at the moment to see if that is more successful.
Aha! I have some success!
I switched to LLVM and LLD instead (and it took a good hour to link... :( ) and it looks like it has actually compiled! Now to do more experiments...
My working command line:
scons platform=linuxbsd target=editor production=yes use_llvm=yes linker=lld use_static_cpp=no
It's a linker issue. Seems Gold is not properly set.
You said that portability doesn't matter, you are probably using this module on your server, correct?
Kind of. I am using Godot on my streaming PC to create interactive overlays. I'm the only one using that installation of Godot and what I write is for internal use only and won't be shared with anyone. The database is for saving request queues and state information.
@majenkotech I made few changes. Could you confirm if you are able to compile now?
Still fails in the same way with gcc
and ld
(I just tested mold
and that works).
Also, I don't know if this is intentional or not, but it seems to recompile boost every single time now, which makes incremental builds impossible....
@majenkotech I've tried with gcc\gold + gold, lld and mold but I still can't reproduce this on Ubuntu.
Still fails in the same way with gcc and ld (I just tested mold and that works).
.
There is a config.cfg file where you can't desable the compilations of openssl and/or boost. I'll make it an option of scons in the future.
Also, I don't know if this is intentional or not, but it seems to recompile boost every single time now, which makes incremental builds impossible....
Platform: Arch Linux Godot Version: Git HEAD 9b522ac1a85cab1a7a867b7a9f3bb102d9376ac2 Compile command:
scons platform=linuxbsd target=editor production=yes lto=full
GCC version: 13.2.1 20230801Normal Godot compilation is fine. As soon as I add the MySQL module to
modules/
compilation fails with linking errors:I believe these errors are coming from the
text_server_adv
module which is being broken by the MySQL module in some way.