Godot Version
4.4 (custom build)
Question
I’m getting an error (or rather, a string of errors) when running my exported game using a custom build of Godot.
The weird thing is that I have FreeType and text_server_adv both enabled in my custom build, so my font should work. The regular Godot build works but I must so I must be missing something important in my custom release template, but I can’t figure out what that might be.
Here’s my custom_build.py
target="template_release"
production="yes"
optimize="size"
dev_build="no"
deprecated="no"
minizip="no"
brotli="no"
vulkan="no"
openxr="no"
use_volk="no"
disable_3d="yes"
graphite="no"
pulseaudio="no"
alsa="no"
modules_enabled_by_default="no"
module_gdscript_enabled="yes"
module_freetype_enabled="yes"
module_minimp3_enabled = "yes"
module_ogg_enabled = "yes"
module_text_server_adv_enabled="yes"
module_regex_enabled = "yes"
This issue is pretty advanced so I hope someone out there that knows what’s going on can help
mrcdk
March 5, 2025, 7:08pm
2
Hard to tell, could you run the game with --verbose
? It may give more info
Unfortunately it gives a similar output
~\OneDrive\Desktop\Releases\New4> ./MorseSimulator.exe --verbose 03/05/2025 09:14:19 PM
WorkerThreadPool: 16 threads, 4 max low-priority.
Godot Engine v4.4.stable.custom_build - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Native OpenGL API detected: 3.3: NVIDIA - NVIDIA GeForce RTX 4060 Laptop GPU
NVAPI: Init OK!
NVAPI: Disabled OpenGL threaded optimization successfully
NVAPI: Disabled G-SYNC for windowed mode successfully
Using "winink" pen tablet driver...
Shader 'CanvasSdfShaderGLES3' SHA256: 242550685d669efa7cc5ab6565a215ef7293062113187b6a2a2c459e922a3ce0
Shader 'SkeletonShaderGLES3' SHA256: 8f8bdbf76292a1fca565519183c469ed49295c7f1c87427508974525bd2f20fa
Shader 'ParticlesShaderGLES3' SHA256: cb71ba190611a967aa1249cac456211b5594eb107f474f7c6a80129c70880a4b
Shader 'ParticlesCopyShaderGLES3' SHA256: ea3f460f460c614462966ac3bcfbde557ad306096bc3f2b2dd21e76a7e53c16e
Shader 'CopyShaderGLES3' SHA256: 157b131a358918177d883dcd64c0d657aeb1c2ba24354e21e8a83c4cb906af70
Shader 'CubemapFilterShaderGLES3' SHA256: f2d618c69982574c2fa475e66617a962281a202b2b49c0ecc495303018ed9a2c
Shader 'GlowShaderGLES3' SHA256: cf8d9b2b3934dacfaea94b12d4bda9c63638ca8d247fa240e954fbeae79c8998
Shader 'PostShaderGLES3' SHA256: 14deca3c70965c995fdad11b416f33dfe79b3a5d967fd9932f4d0f7074b7f5ee
Shader 'FeedShaderGLES3' SHA256: fecd7c84f1ac5460b347d6f7971714d6989122718ceb6f9074130de276700729
Shader 'CanvasShaderGLES3' SHA256: a1b275f25b71475829ffb5f2e3707eaddc3d08a8306ab7f59ddc3accda2e563a
Shader 'CanvasOcclusionShaderGLES3' SHA256: a0748c7d80bb86df7c03c02202b063d5d4f4931be758f0910d02ef9888eb24d0
Shader 'SceneShaderGLES3' SHA256: 3240f47efcd13a0057ba4143a7342acbf1f7b61031439602b1782e40c1dc8cc4
Shader 'SkyShaderGLES3' SHA256: fb023814b3b2d8d6786b215226810ee660e41eee0519b3c69e935f02c3491ebf
OpenGL API 3.3.0 NVIDIA 566.36 - Compatibility - Using Device: NVIDIA - NVIDIA GeForce RTX 4060 Laptop GPU
WASAPI: Activated output_device using IAudioClient3 interface
WASAPI: wFormatTag = 65534
WASAPI: nChannels = 2
WASAPI: nSamplesPerSec = 48000
WASAPI: nAvgBytesPerSec = 384000
WASAPI: nBlockAlign = 8
WASAPI: wBitsPerSample = 32
WASAPI: cbSize = 22
WASAPI: mix_rate = 48000
WASAPI: fundamental_period_frames = 480
WASAPI: min_period_frames = 480
WASAPI: max_period_frames = 480
WASAPI: selected a period frame size of 480
WASAPI: detected 2 channels
WASAPI: audio buffer frames: 480 calculated latency: 10ms
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
WARNING: Failed to initialize NavigationServer3D. Fall back to dummy server.
at: initialize_server (servers\navigation_server_3d.cpp:1018)
WARNING: Failed to initialize NavigationServer2D. Fall back to dummy server.
at: initialize_server (servers\navigation_server_2d.cpp:491)
Loading resource: res://.godot/exported/133200997/export-19246414aa9fb561ced4b8dce477acec-default_bus_layout.res
CORE API HASH: 0
EDITOR API HASH: 0
Loading resource: res://.godot/exported/133200997/export-ba5714135642c08e12c9871d40966316-helper_functions.scn
Loading resource: res://Scripts/helper_functions.gdc
Loading resource: res://.godot/exported/133200997/export-0e499fc54395d6e74ba98a3071e39675-settings_menu.scn
Loading resource: res://Scripts/settings_menu.gdc
Loading resource: res://.godot/exported/133200997/export-5df971f11d211b89be65adfb483844b8-DefaultTheme.res
Loading resource: res://.godot/exported/133200997/export-353781a92a18b5bdd7161eb9d50c8eb7-CircularButton.res
Loading resource: res://SFX/tone.wav
Loading resource: res://.godot/imported/tone.wav-7e18c36419609285a241a7af9ace0105.sample
ERROR: FreeType: Error loading font: ''.
at: (modules\text_server_adv\text_server_adv.cpp:1438)
ERROR: Condition "!_ensure_cache_for_size(fd, size, ffsd)" is true. Returning: nullptr
at: _font_get_hb_handle (modules\text_server_adv\text_server_adv.cpp:1920)
ERROR: FreeType: Error loading font: ''.
at: (modules\text_server_adv\text_server_adv.cpp:1438)
ERROR: Condition "!_ensure_cache_for_size(fd, size, ffsd)" is true. Returning: 0.0
at: _font_get_scale (modules\text_server_adv\text_server_adv.cpp:2840)
ERROR: Parameter "hb_font" is null.
at: _shape_run (modules\text_server_adv\text_server_adv.cpp:6247)
ERROR: FreeType: Error loading font: ''.
at: (modules\text_server_adv\text_server_adv.cpp:1438)
ERROR: Condition "!_ensure_cache_for_size(fd, size, ffsd)" is true. Returning: nullptr
at: _font_get_hb_handle (modules\text_server_adv\text_server_adv.cpp:1920)
ERROR: FreeType: Error loading font: ''.
at: (modules\text_server_adv\text_server_adv.cpp:1438)
[...]
mrcdk
March 5, 2025, 7:29pm
4
Well, the TextServer
seems to load fine so maybe the freetype module needs other modules enabled too? I’m not sure.
You could try using the Engine Configuration Build Editor
under Project/Tools
to generate a .build
file that you can use when building godot with --build_profile=<path_to_build_file>
.
Thanks for the help, I finally figured out what the problem was. After trial and error while recompiling Godot 20 times, it turns out the problem was brotli="no"
.
The description for Brotli in scons --help says “Enable Brotli for decompression and WOFF2 fonts support ”. I totally missed it.
Hopefully this post saves someone in the future from the agony