Page MenuHomeWildfire Games

Use GL_KHR_debug
Needs ReviewPublic

Authored by linkmauve on Dec 19 2019, 9:51 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

This extension is also core in OpenGL 4.3 and OpenGL ES 3.2. It lets us associate a string to pretty much any object, push and pop debug groups, and get a callback whenever some part of the stack wants to talk with us.

Test Plan
  • Build in debug mode.
  • Test with a debugger such as apitrace
  • Textures should now have their original path attached.
  • Listing of functions should be much easier to read, as they are grouped by purpose.
  • Driver information about performance issues and such should be printed in the terminal.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/803/display/redirect

linkmauve updated this revision to Diff 10660.Dec 19 2019, 10:07 PM
linkmauve edited the test plan for this revision. (Show Details)

#ifdef the glObjectLabelKHR() call to avoid it being executed when not debugging.

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/lib/external_libraries/glext_funcs.h
|   1| /*·Copyright·(C)·2013·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2013"

source/lib/res/graphics/ogl_tex.cpp
|   1| /*·Copyright·(C)·2010·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2010"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1319/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/805/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/lib/external_libraries/glext_funcs.h
|   1| /*·Copyright·(C)·2013·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2013"

source/lib/res/graphics/ogl_tex.cpp
|   1| /*·Copyright·(C)·2010·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2010"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1321/display/redirect

linkmauve updated this revision to Diff 10662.Dec 19 2019, 10:46 PM

Fix the copyright years.

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/806/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1322/display/redirect

linkmauve updated this revision to Diff 10739.Dec 22 2019, 5:03 PM
linkmauve retitled this revision from RFC: Use GL_KHR_debug to associate its path to a GL texture to Use GL_KHR_debug.
linkmauve edited the summary of this revision. (Show Details)
linkmauve edited the test plan for this revision. (Show Details)
  • Add debug groups push and pop using RAII.
  • Add debug message callback with filtering.
Owners added a subscriber: Restricted Owners Package.Dec 22 2019, 5:03 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/862/display/redirect

linkmauve updated this revision to Diff 10740.Dec 22 2019, 5:09 PM

Fix build failure.

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/863/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/lib/ogl.h
|   1| /*·Copyright·(C)·2017·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2017"

source/lib/ogl.h
| 198| class·ogl_DebugGroup
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classogl_DebugGroup{' is invalid C code. Use --std or --language to configure the language.

source/lib/ogl.cpp
|   1| /*·Copyright·(C)·2017·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2017"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1378/display/redirect

linkmauve updated this revision to Diff 10741.Dec 22 2019, 5:30 PM
  • Update the copyright years.
  • Simplify the ogl_DebugGroup class.
  • Add a fallback for when we’re not compiling in debug mode.

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/864/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/lib/ogl.h
|   1| /*·Copyright·(C)·2017·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2017"

source/lib/ogl.h
| 198| class·ogl_DebugGroup
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classogl_DebugGroup{' is invalid C code. Use --std or --language to configure the language.

source/lib/ogl.cpp
|   1| /*·Copyright·(C)·2017·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2019" year instead of "2017"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1379/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1380/display/redirect

vladislavbelov added inline comments.
source/lib/external_libraries/glext_funcs.h
192

We have increasing number of version, so I think it'd be better to put this section at the end of the #else - #endif section. Like it's done for GLES.

source/lib/ogl.h
212

It doesn't make sense to generate even an empty struct. I suggest to replace ogl_DebugGroup group("Draw GUI element"); by one macro like OGL_DEBUG_GROUP("Draw GUI element");, like it's done for profiler.

BTW can't we just add groups in PROFILER2? Because we already have GL queries there and it seems reasonable to have them together.

linkmauve added inline comments.Jan 4 2020, 5:31 PM
source/lib/ogl.h
212

Note that your PROFILE2() macro does exactly the same thing, by creating a CProfile2Region object named profile2__ (see source/ps/Profiler2.h:536), except this object contains a m_Name pointer so it can’t be eluded by the compiler. It shouldn’t contain it though, you don’t reuse it at all after the constructor is done, that sounds like an easy optimisation.

Adding groups the same way would be ok, but I’m not sure why go through the indirection of your profiler when you just want to have raii for OpenGL calls.

Stan updated this revision to Diff 11154.EditedJan 23 2020, 11:54 AM
Stan added a subscriber: Stan.

Fix windows build. Apitrace doesn't work for me though, it segfaults directly

EDIT: I do get warnings such as these though:

warning: OpenGL other of severity notification from the API id 131185: Buffer detailed info: Buffer object 1 (bound to GL_ELEMENT_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.

Also lots of warnings for animated meshes (even though they are not moving in atlas) and one or two for static meshes.

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/212/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/gui/ObjectTypes/CMiniMap.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/ps/CLogger.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/renderer/TerrainRenderer.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/lib/ogl.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/lib/res/graphics/ogl_tex.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/gui/CGUIText.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/gui/GUIRenderer.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/lib/ogl.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/renderer/WaterManager.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1634/display/redirect

Stan added a comment.Jan 24 2020, 10:51 AM

Just confirmed that the crash in debug mode of apitrace is not linked to this patch. So only thing to fix is Mac Os.

vladislavbelov added inline comments.Jun 9 2020, 12:16 AM
source/gui/CGUIText.cpp
432

I'd prefer single name macro instead of duplicating. And the group word is too common and might be used in the code.

source/lib/ogl.h
198

Maybe ogl_DebugScopedGroup?

Stan updated this revision to Diff 16164.Mon, Mar 1, 1:29 PM

Rebase, need the CI for macOS errors

Vulcan added a comment.Mon, Mar 1, 1:30 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
In file included from ../../../source/simulation2/components/CCmpOverlayRenderer.cpp:28:
In file included from ../../../source/graphics/TextureManager.h:23:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:162:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:162:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
In file included from ../../../source/simulation2/components/CCmpPathfinder.cpp:25:
In file included from ../../../source/simulation2/components/CCmpPathfinder_Common.h:38:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:162:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:162:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
In file included from ../../../source/simulation2/components/CCmpParticleManager.cpp:25:
In file included from ../../../source/graphics/ParticleManager.h:21:
In file included from ../../../source/graphics/ParticleEmitter.h:22:
In file included from ../../../source/graphics/ParticleEmitterType.h:22:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:162:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:162:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:163:72: error: unknown type name 'GLDEBUGPROC'
../../../source/lib/external_libraries/glext_funcs.h:163:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
../../../source/lib/external_libraries/glext_funcs.h:163:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
In file included from ../../../source/simulation2/components/CCmpParticleManager.cpp:25:
In file included from ../../../source/graphics/ParticleManager.h:21:
In file included from ../../../source/graphics/ParticleEmitter.h:22:
In file included from ../../../source/graphics/ParticleEmitterType.h:22:
../../../source/lib/ogl.h:204:24: error: use of undeclared identifier 'GL_DEBUG_SOURCE_APPLICATION'
                pglPushDebugGroupKHR(GL_DEBUG_SOURCE_APPLICATION, 0x0ad, -1, message);
                                     ^
In file included from ../../../source/simulation2/components/CCmpOverlayRenderer.cpp:28:
In file included from ../../../source/graphics/TextureManager.h:23:
../../../source/lib/ogl.h:204:24: error: use of undeclared identifier 'GL_DEBUG_SOURCE_APPLICATION'
                pglPushDebugGroupKHR(GL_DEBUG_SOURCE_APPLICATION, 0x0ad, -1, message);
                                     ^
In file included from ../../../source/simulation2/components/CCmpPathfinder.cpp:25:
In file included from ../../../source/simulation2/components/CCmpPathfinder_Common.h:38:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
../../../source/lib/ogl.h:204:24: error: use of undeclared identifier 'GL_DEBUG_SOURCE_APPLICATION'
                pglPushDebugGroupKHR(GL_DEBUG_SOURCE_APPLICATION, 0x0ad, -1, message);
                                     ^
3 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpParticleManager.o] Error 1
make[1]: *** Waiting for unfinished jobs....
3 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpOverlayRenderer.o] Error 1
In file included from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
In file included from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:162:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:162:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:163:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
In file included from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
In file included from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
../../../source/lib/ogl.h:204:24: error: use of undeclared identifier 'GL_DEBUG_SOURCE_APPLICATION'
                pglPushDebugGroupKHR(GL_DEBUG_SOURCE_APPLICATION, 0x0ad, -1, message);
                                     ^
3 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpPathfinder.o] Error 1
3 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpAIManager.o] Error 1
make: *** [simulation2] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3352/display/redirect

Vulcan added a comment.Mon, Mar 1, 1:42 PM

Successful build - Chance fights ever on the side of the prudent.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

    10>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\components\CCmpAIManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
     4>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\pyrogenesis.vcxproj]
    22>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4450/display/redirect

Stan updated this revision to Diff 16166.Mon, Mar 1, 1:46 PM

Define GL_DEBUG_SOURCE_APPLICATION for macOS

Vulcan added a comment.Mon, Mar 1, 1:53 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
In file included from ../../../source/simulation2/components/CCmpPathfinder.cpp:25:
In file included from ../../../source/simulation2/components/CCmpPathfinder_Common.h:38:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
In file included from ../../../source/simulation2/components/CCmpOverlayRenderer.cpp:28:
In file included from ../../../source/graphics/TextureManager.h:23:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
In file included from ../../../source/simulation2/components/CCmpParticleManager.cpp:25:
In file included from ../../../source/graphics/ParticleManager.h:21:
In file included from ../../../source/graphics/ParticleEmitter.h:22:
In file included from ../../../source/graphics/ParticleEmitterType.h:22:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpParticleManager.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
In file included from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:25: error: expected ')'
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                        ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpOverlayRenderer.o] Error 1
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpPathfinder.o] Error 1
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpAIManager.o] Error 1
make: *** [simulation2] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3354/display/redirect

Vulcan added a comment.Mon, Mar 1, 2:07 PM

Successful build - Chance fights ever on the side of the prudent.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

    10>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\components\CCmpAIManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
     4>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\pyrogenesis.vcxproj]
    22>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4452/display/redirect

vladislavbelov added inline comments.Mon, Mar 1, 2:07 PM
source/lib/external_libraries/glext_funcs.h
198

Space.

source/lib/ogl.cpp
425

Space.

427–429

Maybe CC, Idr snake case for lib?

431–498

Might use a macro to reduce the code duplication.

500

I suppose it won't be visible on Windows. But I might fix it later.

source/lib/res/graphics/ogl_tex.cpp
40

Is it needed?

485

const.

Vulcan added a comment.Mon, Mar 1, 2:11 PM

Successful build - Chance fights ever on the side of the prudent.

builderr-debug-gcc7.txt
../../../source/lib/ogl.cpp: In function 'void ogl_OnDebugMessage(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*, const void*)':
../../../source/lib/ogl.cpp:500:15: warning: format '%d' expects argument of type 'int', but argument 4 has type 'const char*' [-Wformat=]
  debug_printf("OpenGL | %s: %s id %d: %s\n", str_severity.c_str(), str_type.c_str(), str_source.c_str(), id, message);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                          ~~~~~~~~~~~~~~~~~~
../../../source/lib/ogl.cpp:500:15: warning: format '%s' expects argument of type 'char*', but argument 5 has type 'GLuint' {aka 'unsigned int'} [-Wformat=]
../../../source/lib/ogl.cpp:500:15: warning: too many arguments for format [-Wformat-extra-args]
builderr-release-gcc7.txt
In file included from ../../../source/pch/atlas/precompiled.h:26:
../../../source/tools/atlas/GameInterface/Messages.h: In function 'void AtlasMessage::fGetTerrainGroupPreviews(AtlasMessage::qGetTerrainGroupPreviews*)':
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
 struct sTerrainTexturePreview
        ^~~~~~~~~~~~~~~~~~~~~~
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
 struct sTerrainTexturePreview
        ^~~~~~~~~~~~~~~~~~~~~~
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/lib/ogl.cpp: In function 'void ogl_OnDebugMessage(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*, const void*)':
../../../source/lib/ogl.cpp:500:15: warning: format '%d' expects argument of type 'int', but argument 4 has type 'const char*' [-Wformat=]
  debug_printf("OpenGL | %s: %s id %d: %s\n", str_severity.c_str(), str_type.c_str(), str_source.c_str(), id, message);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                          ~~~~~~~~~~~~~~~~~~
../../../source/lib/ogl.cpp:500:15: warning: format '%s' expects argument of type 'char*', but argument 5 has type 'GLuint' {aka 'unsigned int'} [-Wformat=]
../../../source/lib/ogl.cpp:500:15: warning: too many arguments for format [-Wformat-extra-args]

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/5008/display/redirect

vladislavbelov added inline comments.Mon, Mar 1, 2:25 PM
source/lib/external_libraries/glext_funcs.h
198

* for types not for variables; APIENTRY > GL_APIENTRY.

Vulcan added a comment.Mon, Mar 1, 2:48 PM

Successful build - Chance fights ever on the side of the prudent.

builderr-debug-gcc7.txt
../../../source/lib/ogl.cpp: In function 'void ogl_OnDebugMessage(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*, const void*)':
../../../source/lib/ogl.cpp:500:15: warning: format '%d' expects argument of type 'int', but argument 4 has type 'const char*' [-Wformat=]
  debug_printf("OpenGL | %s: %s id %d: %s\n", str_severity.c_str(), str_type.c_str(), str_source.c_str(), id, message);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                          ~~~~~~~~~~~~~~~~~~
../../../source/lib/ogl.cpp:500:15: warning: format '%s' expects argument of type 'char*', but argument 5 has type 'GLuint' {aka 'unsigned int'} [-Wformat=]
../../../source/lib/ogl.cpp:500:15: warning: too many arguments for format [-Wformat-extra-args]
builderr-release-gcc7.txt
In file included from ../../../source/pch/atlas/precompiled.h:26:
../../../source/tools/atlas/GameInterface/Messages.h: In function 'void AtlasMessage::fGetTerrainGroupPreviews(AtlasMessage::qGetTerrainGroupPreviews*)':
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
 struct sTerrainTexturePreview
        ^~~~~~~~~~~~~~~~~~~~~~
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
 struct sTerrainTexturePreview
        ^~~~~~~~~~~~~~~~~~~~~~
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/tools/atlas/GameInterface/Messages.h:315:8: warning: '#'target_mem_ref' not supported by dump_expr#<expression error>' may be used uninitialized in this function [-Wmaybe-uninitialized]
../../../source/lib/ogl.cpp: In function 'void ogl_OnDebugMessage(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*, const void*)':
../../../source/lib/ogl.cpp:500:15: warning: format '%d' expects argument of type 'int', but argument 4 has type 'const char*' [-Wformat=]
  debug_printf("OpenGL | %s: %s id %d: %s\n", str_severity.c_str(), str_type.c_str(), str_source.c_str(), id, message);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                          ~~~~~~~~~~~~~~~~~~
../../../source/lib/ogl.cpp:500:15: warning: format '%s' expects argument of type 'char*', but argument 5 has type 'GLuint' {aka 'unsigned int'} [-Wformat=]
../../../source/lib/ogl.cpp:500:15: warning: too many arguments for format [-Wformat-extra-args]

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/5010/display/redirect

Stan updated this revision to Diff 16168.Mon, Mar 1, 4:00 PM

Fix GL_APIENTRY on Windows fix some notes and format specifier

Vulcan added a comment.Mon, Mar 1, 4:01 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
In file included from ../../../source/simulation2/components/CCmpPathfinder.cpp:25:
In file included from ../../../source/simulation2/components/CCmpPathfinder_Common.h:38:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:23: error: expected ')'
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                      ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
In file included from ../../../source/simulation2/components/CCmpOverlayRenderer.cpp:28:
In file included from ../../../source/graphics/TextureManager.h:23:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:23: error: expected ')'
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                      ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168../../../source/lib/external_libraries/glext_funcs.h::168:72: error: 72: error: unknown type name 'GLDEBUGPROC'
unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^

In file included from ../../../source/simulation2/components/CCmpParticleManager.cpp:25:
In file included from ../../../source/graphics/ParticleManager.h:21:
In file included from ../../../source/graphics/ParticleEmitter.h:22:
In file included from ../../../source/graphics/ParticleEmitterType.h:22:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:23: error: expected ')'
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                      ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpParticleManager.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
In file included from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:23: error: expected ')'
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                      ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpOverlayRenderer.o] Error 1
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpPathfinder.o] Error 1
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpAIManager.o] Error 1
make: *** [simulation2] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3356/display/redirect

Vulcan added a comment.Mon, Mar 1, 4:05 PM

Build was aborted.

builderr-debug-gcc7.txt
make[1]: *** [graphics.make:309: obj/graphics_Debug/Overlay.o] Terminated
make: *** [Makefile:125: graphics] Terminated

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/5012/display/redirect

Stan updated this revision to Diff 16170.Mon, Mar 1, 4:06 PM

Fix missing param, and don't be a dummy

Vulcan added a comment.Mon, Mar 1, 4:07 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
In file included from ../../../source/simulation2/components/CCmpPathfinder.cpp:25:
In file included from ../../../source/simulation2/components/CCmpPathfinder_Common.h:38:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:26: error: expected ')'
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                         ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
In file included from ../../../source/simulation2/components/CCmpParticleManager.cpp:25:
In file included from ../../../source/graphics/ParticleManager.h:21:
In file included from ../../../source/graphics/ParticleEmitter.h:22:
In file included from ../../../source/graphics/ParticleEmitterType.h:22:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:26: error: expected ')'
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                         ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
In file included from ../../../source/simulation2/components/CCmpOverlayRenderer.cpp:28:
In file included from ../../../source/graphics/TextureManager.h:23:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:26: error: expected ')'
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                         ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
In file included from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
In file included from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:26: error: expected ')'
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                         ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROC'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROC callback, const GLvoid* userParam))
                                                                       ^
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpParticleManager.o] Error 1
make[1]: *** Waiting for unfinished jobs....
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpOverlayRenderer.o] Error 1
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpPathfinder.o] Error 1
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpAIManager.o] Error 1
make: *** [simulation2] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3357/display/redirect

Vulcan added a comment.Mon, Mar 1, 4:07 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-gcc7.txt
In file included from ../../../source/lib/ogl.h:133,
                 from ../../../source/renderer/TerrainOverlay.h:26,
                 from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24,
                 from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
../../../source/lib/external_libraries/glext_funcs.h:167:26: error: expected ')' before '*' token
 typedef void (GL_APIENTRY* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
              ~           ^
                          )
make[1]: *** [simulation2.make:248: obj/simulation2_Debug/CCmpAIManager.o] Error 1
make: *** [Makefile:107: simulation2] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/5013/display/redirect

Vulcan added a comment.Mon, Mar 1, 4:10 PM

Build was aborted.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

    11>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\components\CCmpAIManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
     4>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\pyrogenesis.vcxproj]
    22>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4454/display/redirect

Stan updated this revision to Diff 16172.Mon, Mar 1, 4:13 PM

Try GLDEBUGPROCKHR

Vulcan added a comment.Mon, Mar 1, 4:19 PM

Successful build - Chance fights ever on the side of the prudent.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

    10>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\components\CCmpAIManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
     4>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\pyrogenesis.vcxproj]
    22>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4455/display/redirect

vladislavbelov added inline comments.Mon, Mar 1, 4:22 PM
source/lib/external_libraries/glext_funcs.h
146

Space and *.

Vulcan added a comment.Mon, Mar 1, 4:33 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libnetwork_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblobby_dbg.a(precompiled.o) has no symbols
In file included from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
In file included from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24:
In file included from ../../../source/renderer/TerrainOverlay.h:26:
In file included from ../../../source/lib/ogl.h:133:
../../../source/lib/external_libraries/glext_funcs.h:167:26: error: expected ')'
typedef void (GL_APIENTRY* GLDEBUGPROCKHR)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
                         ^
../../../source/lib/external_libraries/glext_funcs.h:167:14: note: to match this '('
typedef void (GL_APIENTRY* GLDEBUGPROCKHR)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
             ^
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: unknown type name 'GLDEBUGPROCKHR'
FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROCKHR callback, const GLvoid* userParam))
                                                                       ^
2 errors generated.
make[1]: *** [obj/simulation2_Debug/CCmpAIManager.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [simulation2] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3359/display/redirect

vladislavbelov added inline comments.Mon, Mar 1, 4:39 PM
source/lib/external_libraries/glext_funcs.h
152

Add the define after #else:

#ifndef GL_APIENTRY
#ifdef APIENTRY
#define GL_APIENTRY APIENTRY
#else
#define GL_APIENTRY
#endif
Stan updated this revision to Diff 16174.Mon, Mar 1, 4:48 PM

And another attempt

Vulcan added a comment.Mon, Mar 1, 4:56 PM

Successful build - Chance fights ever on the side of the prudent.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

     7>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\network\NetMessageSim.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\network.vcxproj]
    11>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\components\CCmpAIManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    11>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\serialization\BinarySerializer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    11>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\serialization\HashSerializer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    11>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\serialization\StdSerializer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    11>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\serialization\StdDeserializer.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    11>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\system\ComponentManagerSerialization.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
     4>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\pyrogenesis.vcxproj]
    22>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
    22>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

    22>e:\jenkins\workspace\vs2015-differential\source\maths\fixed.h(158): warning C4724: potential mod by 0 [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4457/display/redirect

Vulcan added a comment.Mon, Mar 1, 5:01 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
../../../source/graphics/ShaderProgram.cpp:86:15: warning: 'Reload' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Reload()
                     ^
../../../source/graphics/ShaderProgram.h:124:15: note: overridden virtual function is here
        virtual void Reload() = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:118:15: warning: 'Bind' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Bind()
                     ^
../../../source/graphics/ShaderProgram.h:135:15: note: overridden virtual function is here
        virtual void Bind() = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:128:15: warning: 'Unbind' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Unbind()
                     ^
../../../source/graphics/ShaderProgram.h:140:15: note: overridden virtual function is here
        virtual void Unbind() = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:156:18: warning: 'GetTextureBinding' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual Binding GetTextureBinding(texture_id_t id)
                        ^
../../../source/graphics/ShaderProgram.h:149:18: note: overridden virtual function is here
        virtual Binding GetTextureBinding(texture_id_t id) = 0;
                        ^
../../../source/graphics/ShaderProgram.cpp:166:15: warning: 'BindTexture' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void BindTexture(texture_id_t id, Handle tex)
                     ^
../../../source/graphics/ShaderProgram.h:153:15: note: overridden virtual function is here
        virtual void BindTexture(texture_id_t id, Handle tex) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:179:15: warning: 'BindTexture' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void BindTexture(texture_id_t id, GLuint tex)
                     ^
../../../source/graphics/ShaderProgram.h:154:15: note: overridden virtual function is here
        virtual void BindTexture(texture_id_t id, GLuint tex) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:190:15: warning: 'BindTexture' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void BindTexture(Binding id, Handle tex)
                     ^
../../../source/graphics/ShaderProgram.h:155:15: note: overridden virtual function is here
        virtual void BindTexture(Binding id, Handle tex) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:197:18: warning: 'GetUniformBinding' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual Binding GetUniformBinding(uniform_id_t id)
                        ^
../../../source/graphics/ShaderProgram.h:158:18: note: overridden virtual function is here
        virtual Binding GetUniformBinding(uniform_id_t id) = 0;
                        ^
../../../source/graphics/ShaderProgram.cpp:202:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, float v0, float v1, float v2, float v3)
                     ^
../../../source/graphics/ShaderProgram.h:161:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, float v0, float v1, float v2, float v3) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:211:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, const CMatrix3D& v)
                     ^
../../../source/graphics/ShaderProgram.h:162:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, const CMatrix3D& v) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:230:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, size_t count, const CMatrix3D* v)
                     ^
../../../source/graphics/ShaderProgram.h:163:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, size_t count, const CMatrix3D* v) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:236:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, size_t count, const float* v)
                     ^
../../../source/graphics/ShaderProgram.h:164:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, size_t count, const float* v) = 0;
                     ^
12 warnings generated.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libatlas_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgui_dbg.a(precompiled.o) has no symbols
../../../source/lib/ogl.cpp:425:6: error: variable has incomplete type 'void'
void APIENTRY ogl_OnDebugMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei UNUSED(length), const GLchar* message, const void* UNUSED(user_param))
     ^
../../../source/lib/ogl.cpp:425:14: error: expected ';' after top level declarator
void APIENTRY ogl_OnDebugMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei UNUSED(length), const GLchar* message, const void* UNUSED(user_param))
             ^
             ;
../../../source/lib/ogl.cpp:582:12: error: use of undeclared identifier 'GL_DEBUG_OUTPUT'
                glEnable(GL_DEBUG_OUTPUT);
                         ^
../../../source/lib/ogl.cpp:583:30: error: use of undeclared identifier 'ogl_OnDebugMessage'
                pglDebugMessageCallbackKHR(ogl_OnDebugMessage, nullptr);
                                           ^
../../../source/lib/ogl.cpp:587:58: error: use of undeclared identifier 'GL_DEBUG_TYPE_PUSH_GROUP'
                pglDebugMessageControlKHR(GL_DEBUG_SOURCE_APPLICATION, GL_DEBUG_TYPE_PUSH_GROUP, GL_DONT_CARE, 1, &id, GL_FALSE);
                                                                       ^
../../../source/lib/ogl.cpp:588:58: error: use of undeclared identifier 'GL_DEBUG_TYPE_POP_GROUP'
                pglDebugMessageControlKHR(GL_DEBUG_SOURCE_APPLICATION, GL_DEBUG_TYPE_POP_GROUP, GL_DONT_CARE, 1, &id, GL_FALSE);
                                                                       ^
6 errors generated.
make[1]: *** [obj/lowlevel_Debug/ogl.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [lowlevel] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3361/display/redirect

Vulcan added a comment.Mon, Mar 1, 5:07 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-gcc7.txt
In file included from ../../../source/lib/ogl.h:133,
                 from ../../../source/renderer/TerrainOverlay.h:26,
                 from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24,
                 from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
../../../source/lib/external_libraries/glext_funcs.h:167:26: error: expected ')' before '*' token
 typedef void (GL_APIENTRY* GLDEBUGPROCKHR)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam);
              ~           ^
                          )
In file included from ../../../source/renderer/TerrainOverlay.h:26,
                 from ../../../source/simulation2/helpers/HierarchicalPathfinder.h:24,
                 from ../../../source/simulation2/components/CCmpAIManager.cpp:42:
../../../source/lib/external_libraries/glext_funcs.h:168:72: warning: 'pglDebugMessageCallbackKHR' initialized and declared 'extern'
 FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROCKHR callback, const GLvoid* userParam))
                                                                        ^~~~~~~~~~~~~~
../../../source/lib/ogl.h:131:96: note: in definition of macro 'FUNC2'
 #define FUNC2(ret, nameARB, nameCore, version, params) EXTERN_C ret (GL_CALL_CONV *p##nameARB) params;
                                                                                                ^~~~~~
../../../source/lib/external_libraries/glext_funcs.h:168:72: error: 'GLDEBUGPROCKHR' was not declared in this scope
 FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROCKHR callback, const GLvoid* userParam))
                                                                        ^~~~~~~~~~~~~~
../../../source/lib/ogl.h:131:96: note: in definition of macro 'FUNC2'
 #define FUNC2(ret, nameARB, nameCore, version, params) EXTERN_C ret (GL_CALL_CONV *p##nameARB) params;
                                                                                                ^~~~~~
../../../source/lib/external_libraries/glext_funcs.h:168:72: note: suggested alternative: 'GLDEBUGPROCAMD'
 FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROCKHR callback, const GLvoid* userParam))
                                                                        ^~~~~~~~~~~~~~
../../../source/lib/ogl.h:131:96: note: in definition of macro 'FUNC2'
 #define FUNC2(ret, nameARB, nameCore, version, params) EXTERN_C ret (GL_CALL_CONV *p##nameARB) params;
                                                                                                ^~~~~~
../../../source/lib/external_libraries/glext_funcs.h:168:97: error: expected primary-expression before 'const'
 FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROCKHR callback, const GLvoid* userParam))
                                                                                                 ^~~~~
../../../source/lib/ogl.h:131:96: note: in definition of macro 'FUNC2'
 #define FUNC2(ret, nameARB, nameCore, version, params) EXTERN_C ret (GL_CALL_CONV *p##nameARB) params;
                                                                                                ^~~~~~
../../../source/lib/external_libraries/glext_funcs.h:168:120: error: expression list treated as compound expression in initializer [-fpermissive]
 FUNC2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, "4.3", (GLDEBUGPROCKHR callback, const GLvoid* userParam))
                                                                                                                        ^
../../../source/lib/ogl.h:131:96: note: in definition of macro 'FUNC2'
 #define FUNC2(ret, nameARB, nameCore, version, params) EXTERN_C ret (GL_CALL_CONV *p##nameARB) params;
                                                                                                ^~~~~~
make[1]: *** [simulation2.make:248: obj/simulation2_Debug/CCmpAIManager.o] Error 1
make: *** [Makefile:107: simulation2] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/5015/display/redirect

Vulcan added a comment.Mon, Mar 1, 5:19 PM

Successful build - Chance fights ever on the side of the prudent.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

    10>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\components\CCmpAIManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
     4>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\pyrogenesis.vcxproj]
    22>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4459/display/redirect

Vulcan added a comment.Mon, Mar 1, 5:28 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-gcc7.txt
: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-8/README.Bugs> for instructions.
make[1]: *** [gui.make:176: obj/gui_Debug/CGUI.o] Error 1
make: *** [Makefile:137: gui] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/5017/display/redirect

Stan updated this revision to Diff 16178.Mon, Mar 1, 5:54 PM

MOAR DEFINES

Vulcan added a comment.Mon, Mar 1, 5:58 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
../../../source/graphics/ShaderProgram.cpp:86:15: warning: 'Reload' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Reload()
                     ^
../../../source/graphics/ShaderProgram.h:124:15: note: overridden virtual function is here
        virtual void Reload() = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:118:15: warning: 'Bind' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Bind()
                     ^
../../../source/graphics/ShaderProgram.h:135:15: note: overridden virtual function is here
        virtual void Bind() = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:128:15: warning: 'Unbind' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Unbind()
                     ^
../../../source/graphics/ShaderProgram.h:140:15: note: overridden virtual function is here
        virtual void Unbind() = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:156:18: warning: 'GetTextureBinding' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual Binding GetTextureBinding(texture_id_t id)
                        ^
../../../source/graphics/ShaderProgram.h:149:18: note: overridden virtual function is here
        virtual Binding GetTextureBinding(texture_id_t id) = 0;
                        ^
../../../source/graphics/ShaderProgram.cpp:166:15: warning: 'BindTexture' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void BindTexture(texture_id_t id, Handle tex)
                     ^
../../../source/graphics/ShaderProgram.h:153:15: note: overridden virtual function is here
        virtual void BindTexture(texture_id_t id, Handle tex) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:179:15: warning: 'BindTexture' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void BindTexture(texture_id_t id, GLuint tex)
                     ^
../../../source/graphics/ShaderProgram.h:154:15: note: overridden virtual function is here
        virtual void BindTexture(texture_id_t id, GLuint tex) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:190:15: warning: 'BindTexture' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void BindTexture(Binding id, Handle tex)
                     ^
../../../source/graphics/ShaderProgram.h:155:15: note: overridden virtual function is here
        virtual void BindTexture(Binding id, Handle tex) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:197:18: warning: 'GetUniformBinding' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual Binding GetUniformBinding(uniform_id_t id)
                        ^
../../../source/graphics/ShaderProgram.h:158:18: note: overridden virtual function is here
        virtual Binding GetUniformBinding(uniform_id_t id) = 0;
                        ^
../../../source/graphics/ShaderProgram.cpp:202:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, float v0, float v1, float v2, float v3)
                     ^
../../../source/graphics/ShaderProgram.h:161:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, float v0, float v1, float v2, float v3) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:211:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, const CMatrix3D& v)
                     ^
../../../source/graphics/ShaderProgram.h:162:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, const CMatrix3D& v) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:230:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, size_t count, const CMatrix3D* v)
                     ^
../../../source/graphics/ShaderProgram.h:163:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, size_t count, const CMatrix3D* v) = 0;
                     ^
../../../source/graphics/ShaderProgram.cpp:236:15: warning: 'Uniform' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Uniform(Binding id, size_t count, const float* v)
                     ^
../../../source/graphics/ShaderProgram.h:164:15: note: overridden virtual function is here
        virtual void Uniform(Binding id, size_t count, const float* v) = 0;
                     ^
12 warnings generated.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libatlas_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgui_dbg.a(precompiled.o) has no symbols
../../../source/lib/ogl.cpp:425:6: error: variable has incomplete type 'void'
void APIENTRY ogl_OnDebugMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei UNUSED(length), const GLchar* message, const void* UNUSED(user_param))
     ^
../../../source/lib/ogl.cpp:425:14: error: expected ';' after top level declarator
void APIENTRY ogl_OnDebugMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei UNUSED(length), const GLchar* message, const void* UNUSED(user_param))
             ^
             ;
../../../source/lib/ogl.cpp:583:30: error: use of undeclared identifier 'ogl_OnDebugMessage'
                pglDebugMessageCallbackKHR(ogl_OnDebugMessage, nullptr);
                                           ^
3 errors generated.
make[1]: *** [obj/lowlevel_Debug/ogl.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [lowlevel] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3364/display/redirect

Vulcan added a comment.Mon, Mar 1, 6:07 PM

Successful build - Chance fights ever on the side of the prudent.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

    10>e:\jenkins\workspace\vs2015-differential\libraries\source\spidermonkey\include-win32-debug\js\sweepingapi.h(38): warning C4100: 'needs': unreferenced formal parameter (compiling source file ..\..\..\source\simulation2\components\CCmpAIManager.cpp) [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\simulation2.vcxproj]
    17>wsecure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>wprofiler.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>manifest.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>secure_crt.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>posix.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>vfs_path.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
    17>file_stats.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\lowlevel.vcxproj]
     4>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\pyrogenesis.vcxproj]
    22>MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [E:\Jenkins\workspace\vs2015-differential\build\workspaces\vs2017\test.vcxproj]
Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4462/display/redirect

Vulcan added a comment.Mon, Mar 1, 7:16 PM

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-gcc7.txt
In file included from ../../../source/pch/gui/precompiled.h:19,
                 from ../../../source/gui/CGUI.cpp:18:
../../../source/lib/precompiled.h:78:5: warning: "CONFIG_ENABLE_BOOST" is not defined, evaluates to 0 [-Wundef]
 #if CONFIG_ENABLE_BOOST
     ^~~~~~~~~~~~~~~~~~~
In file included from ../../../source/ps/Profile.h:29,
                 from ../../../source/lib/precompiled.h:112,
                 from ../../../source/pch/gui/precompiled.h:19,
                 from ../../../source/gui/CGUI.cpp:18:
../../../source/ps/Profiler2.h:543: warning: "PROFILE2_GPU" redefined
 #define PROFILE2_GPU(region) CProfile2GPURegion profile2gpu__(region)
 
In file included from ../../../source/ps/Profile.h:29,
                 from ../../../source/lib/precompiled.h:112,
                 from ../../../source/pch/gui/precompiled.h:19:
../../../source/ps/Profiler2.h:543: note: this is the location of the previous definition
 #define PROFILE2_GPU(region) CProfile2GPURegion profile2gpu__(region)
 
In file included from ../../../source/lib/precompiled.h:112,
                 from ../../../source/pch/gui/precompiled.h:19,
                 from ../../../source/gui/CGUI.cpp:18:
../../../source/ps/Profile.h:167: warning: "PROFILE" redefined
 #define PROFILE(name) CProfileSample __profile(name)
 
In file included from ../../../source/lib/precompiled.h:112,
                 from ../../../source/pch/gui/precompiled.h:19:
../../../source/ps/Profile.h:167: note: this is the location of the previous definition
 #define PROFILE(name) CProfileSample __profile(name)
 
In file included from ../../../source/lib/precompiled.h:112,
                 from ../../../source/pch/gui/precompiled.h:19,
                 from ../../../source/gui/CGUI.cpp:18:
../../../source/ps/Profile.h:169: warning: "PROFILE_START" redefined
 #define PROFILE_START(name) { CProfileSample __profile(name)
 
In file included from ../../../source/lib/precompiled.h:112,
                 from ../../../source/pch/gui/precompiled.h:19:
../../../source/ps/Profile.h:169: note: this is the location of the previous definition
 #define PROFILE_START(name) { CProfileSample __profile(name)
 
In file included from ../../../source/ps/XML/Xeromyces.h:27,
                 from ../../../source/gui/CGUI.h:32,
                 from ../../../source/pch/gui/precompiled.h:26:
../../../source/ps/Errors.h:92:29: error: pasting "" and "Scripting" does not give a valid preprocessing token
       extern const PSRETURN MASK__PSRETURN_##a##_##b; \
                             ^~~~~~~~~~~~~~~
../../../source/scriptinterface/ScriptInterface.h:32:1: note: in expansion of macro 'ERROR_SUBGROUP'
 ERROR_SUBGROUP(Scripting, LoadFile);
 ^~~~~~~~~~~~~~
../../../source/ps/Errors.h:92:29: error: pasting "" and "Scripting" does not give a valid preprocessing token
       extern const PSRETURN MASK__PSRETURN_##a##_##b; \
                             ^~~~~~~~~~~~~~~
../../../source/scriptinterface/ScriptInterface.h:42:1: note: in expansion of macro 'ERROR_SUBGROUP'
 ERROR_SUBGROUP(Scripting, DefineType);
 ^~~~~~~~~~~~~~
M:1: error: token "=" is not valid in preprocessor expressions
In file included from /usr/include/boost/preprocessor/repetition/repeat.hpp:17,
                 from ../../../source/scriptinterface/NativeWrapperDecls.h:19,
                 from ../../../source/scriptinterface/ScriptInterface.h:468,
                 from ../../../source/gui/CGUI.h:33,
                 from ../../../source/pch/gui/precompiled.h:26:
../../../source/scriptinterface/NativeWrapperDecls.h:66:1: error: pasting "BOOST_PP_REPEAT_" and "(" does not give a valid preprocessing token
 BOOST_PP_REPEAT(SCRIPT_INTERFACE_MAX_ARGS, OVERLOADS, ~)
 ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:67,
                 from /usr/include/c++/8/bits/specfun.h:45,
                 from /usr/include/c++/8/cmath:1892,
                 from /usr/include/c++/8/math.h:36,
                 from :48,
                 from ../../../source/lib/precompiled.h:67,
                 from ../../../source/pch/gui/precompiled.h:19:
../../../source/lib/external_libraries/opengl.h:41:20: error: operator '||' has no right operand
 #elif OS_MACOSX || OS_MAC
                    ^~~~~~
../../../source/lib/external_libraries/opengl.h:62:20: error: operator '||' has no right operand
 #elif OS_MACOSX || OS_MAC
                    ^~~~~~
In file included from M:1:

/usr/include/unicode/utypes.h:45: confused by earlier errors, bailing out
make[1]: *** [gui.make:176: obj/gui_Debug/CGUI.o] Error 1
make: *** [Makefile:137: gui] Error 2

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/5020/display/redirect