I'm trying to compile the 4.3 editor with the module i downloaded from here: https://github.com/EIRTeam/godot/tree/shinobu_gd4/modules/shinobu and it would spit out error during/after linking every time.
here's the command i ran:
scons use_mingw=yes module_mono_enabled=yes platform=windows production=yes use_llvm=yes debug_symbols=yes
The error is pasted below. It's not obvious to me if the module mentioned above is causing the error. If you have any idea what's happening please let me know.
[ 99%] progress_finish(["progress_finish"], [])
[100%] Linking Static Library core\libcore.windows.editor.x86_64.a ...
Ranlib Library core\libcore.windows.editor.x86_64.a ...
[100%] Linking Program bin\godot.windows.editor.x86_64.mono.exe ...
[100%] ERROR: ./servers/rendering/rendering_device_graph.h:550:16: warning: type 'struct BarrierGroup' violates the C++ One Definition Rule [-Wodr]
550 | struct BarrierGroup {
| ^
./servers/rendering/rendering_device_graph.h:550:16: note: a different type is defined in another translation unit
550 | struct BarrierGroup {
| ^
./servers/rendering/rendering_device_graph.h:553:36: note: the first difference of corresponding definitions is field 'memory_barrier'
553 | RDD::MemoryBarrier memory_barrier;
| ^
./servers/rendering/rendering_device_graph.h:553:36: note: a field of same name but different type is defined in another translation unit
553 | RDD::MemoryBarrier memory_barrier;
| ^
./servers/rendering/rendering_device_driver.h:355:16: note: type name 'RenderingDeviceDriver::MemoryBarrier' should match type name 'RenderingDeviceDriver::_mm_mfence'
355 | struct MemoryBarrier {
| ^
./servers/rendering/rendering_device_graph.h:46:7: warning: type 'struct RenderingDeviceGraph' violates the C++ One Definition Rule [-Wodr]
46 | class RenderingDeviceGraph {
| ^
./servers/rendering/rendering_device_graph.h:46:7: note: a different type is defined in another translation unit
46 | class RenderingDeviceGraph {
| ^
./servers/rendering/rendering_device_graph.h:609:22: note: the first difference of corresponding definitions is field 'barrier_group'
609 | BarrierGroup barrier_group;
| ^
./servers/rendering/rendering_device_graph.h:609:22: note: a field of same name but different type is defined in another translation unit
609 | BarrierGroup barrier_group;
| ^
./servers/rendering/rendering_device_graph.h:550:16: note: type 'struct BarrierGroup' itself violates the C++ One Definition Rule
550 | struct BarrierGroup {
| ^
./servers/rendering/rendering_device.h:61:7: warning: type 'struct RenderingDevice' violates the C++ One Definition Rule [-Wodr]
61 | class RenderingDevice : public RenderingDeviceCommons {
| ^
./servers/rendering/rendering_device.h:61:7: note: a different type is defined in another translation unit
61 | class RenderingDevice : public RenderingDeviceCommons {
| ^
./servers/rendering/rendering_device.h:1239:30: note: the first difference of corresponding definitions is field 'draw_graph'
1239 | RenderingDeviceGraph draw_graph;
| ^
./servers/rendering/rendering_device.h:1239:30: note: a field of same name but different type is defined in another translation unit
1239 | RenderingDeviceGraph draw_graph;
| ^
./servers/rendering/rendering_device_graph.h:46:7: note: type 'struct RenderingDeviceGraph' itself violates the C++ One Definition Rule
46 | class RenderingDeviceGraph {
| ^
modules\mono\csharp_script.h:58: warning: type 'struct CSharpScript' violates the C++ One Definition Rule [-Wodr]
58 | class CSharpScript : public Script {
|
./modules/mono/csharp_script.h:58: note: a different type is defined in another translation unit
58 | class CSharpScript : public Script {
|
modules\mono\csharp_script.h:158: note: the first difference of corresponding definitions is field 'pending_reload_instances'
158 | HashSet<ObjectID> pending_reload_instances;
|
./modules/mono/csharp_script.h:168: note: a field with different name is defined in another translation unit
168 | String source;
|
modules\shinobu\shinobu_pitch_shift.h:37:3: warning: type 'struct SMBPitchShift' violates the C++ One Definition Rule [-Wodr]
37 | } SMBPitchShift;
| ^
servers\audio/effects/audio_effect_pitch_shift.h:36: note: a different type is defined in another translation unit
36 | class SMBPitchShift {
|
modules\shinobu\shinobu_pitch_shift.h:36:15: note: the first difference of corresponding definitions is field 'lastPitchShift'
36 | float lastPitchShift;
| ^
servers\audio/effects/audio_effect_pitch_shift.h:36: note: a type with different number of fields is defined in another translation unit
36 | class SMBPitchShift {
|
thirdparty\icu4c\common\udata.cpp:646: warning: type of 'icudt_godot75_dat' does not match original declaration [-Wlto-type-mismatch]
646 | extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT;
|
thirdparty\icu4c/icudata.gen.h:10: note: 'icudt_godot75_dat' was previously declared here
10 | extern "C" U_EXPORT const unsigned char U_ICUDATA_ENTRY_POINT[] = {
|
./modules/mono/csharp_script.h:59: warning: type of '_get_class_namev' does not match original declaration [-Wlto-type-mismatch]
59 | GDCLASS(CSharpScript, Script);
|
modules\mono\csharp_script.h:59: note: '_get_class_namev' was previously declared here
59 | GDCLASS(CSharpScript, Script);
|
./modules/mono/csharp_script.h:241: warning: type of 'get_documentation' does not match original declaration [-Wlto-type-mismatch]
241 | virtual Vector<DocData::ClassDoc> get_documentation() const override {
|
modules\mono\csharp_script.h:241: note: 'get_documentation' was previously declared here
241 | virtual Vector<DocData::ClassDoc> get_documentation() const override {
|
./modules/mono/csharp_script.h:59: warning: type of 'get_class' does not match original declaration [-Wlto-type-mismatch]
59 | GDCLASS(CSharpScript, Script);
|
modules\mono\csharp_script.h:59: note: 'get_class' was previously declared here
59 | GDCLASS(CSharpScript, Script);
|
thirdparty\vulkan\include/vulkan/vulkan_core.h:1431: warning: type 'VkFormat' violates the C++ One Definition Rule [-Wodr]
1431 | typedef enum VkFormat {
|
thirdparty\libktx\lib/vkformat_enum.h:21: note: an enum with different value name is defined in another translation unit
21 | typedef enum VkFormat {
|
thirdparty\vulkan\include/vulkan/vulkan_core.h:1679: note: name 'VK_FORMAT_R16G16_SFIXED5_NV' differs from name 'VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT' defined in another translation unit
1679 | VK_FORMAT_R16G16_SFIXED5_NV = 1000464000,
|
thirdparty\libktx\lib/vkformat_enum.h:269: note: mismatching definition
269 | VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT = 1000288000,
|
lto-wrapper.exe: warning: using serial compilation of 128 LTRANS jobs
lto-wrapper.exe: note: see the '-flto' option documentation for more information
platform\windows\os_windows.cpp: In member function 'move_to_trash':
platform\windows\os_windows.cpp:1847:51: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
1847 | WCHAR *from = new WCHAR[utf16.length() + 2];
| ^
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
platform\windows\godot_windows.cpp: In function 'widechar_main':
platform\windows\godot_windows.cpp:157:43: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
157 | char **argv_utf8 = new char *[argc];
| ^
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'fetch_add',
inlined from 'operator++' at c:\program files\mingw64\include\c++\12.2.0\bits\atomic_base.h:369:0,
inlined from 'allocThreadIndex' at thirdparty\embree\common\tasking\taskschedulerinternal.cpp:287:0,
inlined from 'thread_loop' at thirdparty\embree\common\tasking\taskschedulerinternal.cpp:227:0,
inlined from 'threadPoolFunction' at thirdparty\embree\common\tasking\taskschedulerinternal.cpp:139:0:
c:\program files\mingw64\include\c++\12.2.0\bits\atomic_base.h:618: warning: '__atomic_fetch_add_8' writing 8 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
618 | { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
|
lto1.exe: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
In member function 'PushBack',
inlined from 'ComputeConvexHull' at thirdparty\vhacd\src\vhacdVolume.cpp:453:29:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeConvexHull':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeConvexHull' at thirdparty\vhacd\src\vhacdVolume.cpp:1129:29:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeConvexHull':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
thirdparty\miniupnpc\src\miniupnpc.c: In function 'GetUPNPUrls':
thirdparty\miniupnpc\src\miniupnpc.c:496:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
496 | }
| ^
thirdparty\miniupnpc\src\upnpcommands.c: In function 'UPNP_GetExternalIPAddress':
thirdparty\miniupnpc\src\upnpcommands.c:336:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
336 | }
| ^
In member function 'PushBack',
inlined from 'Process' at thirdparty\vhacd\src\vhacdICHull.cpp:265:46,
inlined from 'SimplifyConvexHull' at thirdparty\vhacd\src\VHACD.cpp:1504:19,
inlined from 'SimplifyConvexHull' at thirdparty\vhacd\src\VHACD.cpp:1421:0,
inlined from '_ZN5VHACD5VHACD19SimplifyConvexHullsERKNS_6IVHACD10ParametersE.part.0' at thirdparty\vhacd\src\VHACD.cpp:1536:27:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function '_ZN5VHACD5VHACD19SimplifyConvexHullsERKNS_6IVHACD10ParametersE.part.0':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeAxesAlignedClippingPlanes' at thirdparty\vhacd\src\VHACD.cpp:499:24,
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1082:53:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeAxesAlignedClippingPlanes' at thirdparty\vhacd\src\VHACD.cpp:511:24,
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1082:53:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeAxesAlignedClippingPlanes' at thirdparty\vhacd\src\VHACD.cpp:523:24,
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1082:53:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeAxesAlignedClippingPlanes' at thirdparty\vhacd\src\VHACD.cpp:547:24,
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1086:53:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeAxesAlignedClippingPlanes' at thirdparty\vhacd\src\VHACD.cpp:557:24,
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1086:53:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeAxesAlignedClippingPlanes' at thirdparty\vhacd\src\VHACD.cpp:567:24,
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1086:53:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1151:34:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1152:34:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1165:31:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'operator=',
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1178:24:
thirdparty\vhacd\inc/vhacdSArray.h:124:22: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
124 | m_data = new T[m_maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
In member function 'PushBack',
inlined from 'ComputeACD' at thirdparty\vhacd\src\VHACD.cpp:1184:23:
thirdparty\vhacd\inc/vhacdSArray.h:82:23: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
82 | T* temp = new T[maxSize];
| ^
c:\program files\mingw64\include\c++\12.2.0\new: In member function 'ComputeACD':
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
thirdparty\libwebp\src\dec\webp_dec.c: In function 'WebPGetInfo':
thirdparty\libwebp\src\dec\webp_dec.c:729:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
729 | }
| ^
At top level:
lto1.exe: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
editor\plugins\visual_shader_editor_plugin.cpp: In member function '__ct_base ':
editor\plugins\visual_shader_editor_plugin.cpp:6049: note: variable tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
6049 | VisualShaderEditor::VisualShaderEditor() {
|
servers\rendering_server.cpp: In function '_bind_methods':
servers\rendering_server.cpp:2226: note: variable tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
2226 | void RenderingServer::_bind_methods() {
|
servers\rendering\rendering_device.cpp: In function '_bind_methods':
servers\rendering\rendering_device.cpp:5867: note: variable tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
5867 | void RenderingDevice::_bind_methods() {
|
thirdparty\misc\polypartition.cpp: In member function 'Init':
thirdparty\misc\polypartition.cpp:54:35: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
54 | points = new TPPLPoint[numpoints];
| ^
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
thirdparty\clipper2\src\clipper.engine.cpp: In function 'AddPaths_':
thirdparty\clipper2\src\clipper.engine.cpp:625:53: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
625 | Vertex* vertices = new Vertex[total_vertex_count], * v = vertices;
| ^
c:\program files\mingw64\include\c++\12.2.0\new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
core\core_constants.cpp: In function 'register_global_constants':
core\core_constants.cpp:255: note: variable tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
255 | void register_global_constants() {
|
lto1.exe: internal compiler error: cannot read 'LTO_section_decls' from C:\Users\Admin\AppData\Local\Temp\ccgh5TPG.ltrans115.o
libbacktrace could not find executable to open
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.
lto-wrapper.exe: fatal error: x86_64-w64-mingw32-g++ returned 1 exit status
compilation terminated.
c:/program files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: error: lto-wrapper failed
collect2.exe: error: ld returned 1 exit status