Page MenuHomeWildfire Games

Update random_shuffle usage for C++17
Needs ReviewPublic

Authored by wraitii on Sun, Nov 15, 6:56 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Trac Tickets
#5862
Summary

C++14 deprecates and C++17 removes functions we use for random sounds.
Since C++17 is a dependency of SM78, which should fix it.

This makes FastRand() fit the URG interface, and uses the appropriate function.

Introduced in rP22231

(the other rand() may or may not want to be updated?)

Test Plan

Compile, agree on correctness.

Unit TestsFailed

TimeTest
0 msJenkins > cxxtest_debug.xml::[failed-to-read]
Failed to read test report file E:\Jenkins\workspace\vs2015-differential\cxxtest_debug.xml org.dom4j.DocumentException: Error on line 347 of document : Content is not allowed in trailing section. at org.dom4j.io.SAXReader.read(SAXReader.java:511)
0 msJenkins > TestAllocators::Debug Build & Tests / test_da
0 msJenkins > TestAllocators::Release Build & Tests / test_da
0 msJenkins > TestAllocators::test_da
0 msJenkins > TestAllocators::test_da
View Full Test Results (1 Failed · 1,699 Passed)

Event Timeline

wraitii created this revision.Sun, Nov 15, 6:56 PM
wraitii updated the Trac tickets for this revision.Sun, Nov 15, 7:23 PM

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

builderr-debug-macos.txt
../../../source/simulation2/scripting/JSInterface_Simulation.cpp:152:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CFixedVector2D(-halfSize.X, -halfSize.Y),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
../../../source/third_party/fmt/format.cpp:145:7: warning: '_POSIX_C_SOURCE' is not defined, evaluates to 0 [-Wundef]
#if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE) || (defined(__ANDROID__) && __ANDROID__)
      ^
../../../source/third_party/fmt/format.cpp:145:37: warning: '_XOPEN_SOURCE' is not defined, evaluates to 0 [-Wundef]
#if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE) || (defined(__ANDROID__) && __ANDROID__)
                                    ^
2 warnings generated.
In file included from ../../../source/graphics/tests/test_Camera.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/graphics/tests/test_Camera.h:168:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CVector3D(-101.0f, -101.0f, 101.0f),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../source/simulation2/tests/test_SerializeTemplates.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/simulation2/tests/test_SerializeTemplates.h:39:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        3, 0, 1, 4, 1, 5
                        ^~~~~~~~~~~~~~~~
                        {               }
1 warning generated.
builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libnetwork.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libtinygettext.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libtinygettext.a(tinygettext.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblobby.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libglooxwrapper.a(precompiled.o) has no symbols
../../../source/simulation2/scripting/JSInterface_Simulation.cpp:152:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CFixedVector2D(-halfSize.X, -halfSize.Y),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libscriptinterface.a(precompiled.o) has no symbols
../../../source/third_party/fmt/format.cpp:145:7: warning: '_POSIX_C_SOURCE' is not defined, evaluates to 0 [-Wundef]
#if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE) || (defined(__ANDROID__) && __ANDROID__)
      ^
../../../source/third_party/fmt/format.cpp:145:37: warning: '_XOPEN_SOURCE' is not defined, evaluates to 0 [-Wundef]
#if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE) || (defined(__ANDROID__) && __ANDROID__)
                                    ^
2 warnings generated.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libatlas.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgui.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblowlevel.a(dbghelp.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblowlevel.a(file_stats.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblowlevel.a(vfs_path.o) has no symbols
In file included from ../../../source/graphics/tests/test_Camera.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/graphics/tests/test_Camera.h:168:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CVector3D(-101.0f, -101.0f, 101.0f),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../source/simulation2/tests/test_SerializeTemplates.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/simulation2/tests/test_SerializeTemplates.h:39:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        3, 0, 1, 4, 1, 5
                        ^~~~~~~~~~~~~~~~
                        {               }
1 warning generated.

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

wraitii requested review of this revision.Sun, Nov 15, 9:24 PM
vladislavbelov added inline comments.
source/lib/rand.h
31 ↗(On Diff #13948)

<cstdint> instread.

42 ↗(On Diff #13948)

It doesn't make sense to write numbers here, because they really depend on platform.

45 ↗(On Diff #13948)

Do we need that random class at all? std::mt19337 is fast enough in absolute numbers.

source/simulation2/tests/test_EntityMap.h
232–234

It doesn't make sense to create local variables here.

Stan added a subscriber: Stan.Mon, Nov 16, 7:47 PM
Stan added inline comments.
source/lib/rand.h
45 ↗(On Diff #13948)
In D1584#74412, @Stan wrote:

Static rng;

CompilerNo OptimizationO1O2O3OFast/Ox
cl.exe RandFloat(float min, float max)0.3089790.3089790.308979//
cl.exe RandFloat(std::mt19937& rng, float min, float max)7.8070001.7217901.735000/1.844260
mingw32-g++.exe RandFloat(std::mt19937& rng, float min, float max)0.3089790.3089790.3089790.3089790.308979
mingw32-g++.exe RandFloat(std::mt19937& rng, float min, float max)12.051904.2171304.1431401.7583301.772730
vladislavbelov added inline comments.Mon, Nov 16, 8:02 PM
source/lib/rand.h
45 ↗(On Diff #13948)

Sounds like a premature optimization. We use std::mt19937 for generation of variations. And we don't see that places in profiler.

wraitii added inline comments.Thu, Nov 19, 8:51 PM
source/lib/rand.h
45 ↗(On Diff #13948)

We do call this relatively often in the sound, compared to actor variations. I don't necessarily disagree, but it's not a very _costly_ optimisation either in terms of maintenance or code complexity, so I'd be inclined to go with it.

wraitii updated this revision to Diff 14092.Thu, Nov 19, 8:56 PM
wraitii marked 2 inline comments as done.

Vlad's comments.

I don't particularly care to spend the time profiling how much time we'd lose by going back to std::mt 19937, and I do need this for C++17, so I'll be carrying on with the patch regardless of that debate. IMO, you ought to raise a concern with the OG diff (on which there was already much discussion), or just make a ticket and we'll handle this later, it's not a particularly important problem.

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

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

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

builderr-debug-gcc6.txt
In file included from ../../../source/simulation2/tests/test_EntityMap.cpp:17:0:
/zpool0/gcc6/source/simulation2/tests/test_EntityMap.h: In member function 'void TestEntityMap::test_perf_DISABLED()':
/zpool0/gcc6/source/simulation2/tests/test_EntityMap.h:233:58: error: invalid initialization of non-const reference of type 'std::random_device&' from an rvalue of type 'std::random_device'
   std::shuffle(vec.begin(), vec.end(), std::mt19937{std::random_device{}});
                                                          ^~~~~~~~~~~~~~~
In file included from /usr/local/include/c++/6.5.0/random:49:0,
                 from /zpool0/gcc6/source/simulation2/tests/test_EntityMap.h:27,
                 from ../../../source/simulation2/tests/test_EntityMap.cpp:17:
/usr/local/include/c++/6.5.0/bits/random.h:508:9: note:   initializing argument 1 of 'std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::mersenne_twister_engine(_Sseq&) [with _Sseq = std::random_device; <template-parameter-2-2> = void; _UIntType = long unsigned int; long unsigned int __w = 32ul; long unsigned int __n = 624ul; long unsigned int __m = 397ul; long unsigned int __r = 31ul; _UIntType __a = 2567483615ul; long unsigned int __u = 11ul; _UIntType __d = 4294967295ul; long unsigned int __s = 7ul; _UIntType __b = 2636928640ul; long unsigned int __t = 15ul; _UIntType __c = 4022730752ul; long unsigned int __l = 18ul; _UIntType __f = 1812433253ul]'
         mersenne_twister_engine(_Sseq& __q)
         ^~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [obj/test_Debug/test_EntityMap.o] Error 1
make: *** [test] Error 2

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

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

builderr-debug-macos.txt
../../../source/simulation2/scripting/JSInterface_Simulation.cpp:153:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CFixedVector2D(-halfSize.X, -halfSize.Y),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
../../../source/third_party/fmt/format.cpp:145:7: warning: '_POSIX_C_SOURCE' is not defined, evaluates to 0 [-Wundef]
#if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE) || (defined(__ANDROID__) && __ANDROID__)
      ^
../../../source/third_party/fmt/format.cpp:145:37: warning: '_XOPEN_SOURCE' is not defined, evaluates to 0 [-Wundef]
#if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE) || (defined(__ANDROID__) && __ANDROID__)
                                    ^
2 warnings generated.
In file included from ../../../source/tools/atlas/AtlasObject/AtlasObjectJS.cpp:21:
In file included from ../../../source/tools/atlas/AtlasObject/JSONSpiritInclude.h:32:
../../../source/third_party/jsonspirit/json_spirit_writer_template.h:37:50: warning: unused typedef 'Char_type' [-Wunused-local-typedef]
        typedef typename String_type::value_type Char_type;
                                                 ^
1 warning generated.
../../../source/tools/atlas/AtlasUI/ActorEditor/ActorEditor.cpp:45:2: warning: 'GetCurrentProcess' is deprecated: first deprecated in macOS 10.9 [-Wdeprecated-declarations]
        GetCurrentProcess(&PSN);
        ^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:415:1: note: 'GetCurrentProcess' has been explicitly marked deprecated here
MacGetCurrentProcess(ProcessSerialNumber * PSN)               AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9;
^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:412:34: note: expanded from macro 'MacGetCurrentProcess'
    #define MacGetCurrentProcess GetCurrentProcess
                                 ^
1 warning generated.
In file included from ../../../source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Map/Map.cpp:23:
In file included from ../../../source/tools/atlas/AtlasObject/JSONSpiritInclude.h:32:
In file included from ../../../source/third_party/jsonspirit/json_spirit_writer_template.h:13:
../../../source/third_party/jsonspirit/json_spirit_value.h:586:24: warning: 'static' function 'value_type_to_string' declared in header file should be declared 'static inline' [-Wunneeded-internal-declaration]
    static std::string value_type_to_string( const Value_type vtype )
                       ^
In file included from ../../../source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Map/Map.cpp:23:
In file included from ../../../source/tools/atlas/AtlasObject/JSONSpiritInclude.h:32:
../../../source/third_party/jsonspirit/json_spirit_writer_template.h:37:50: warning: unused typedef 'Char_type' [-Wunused-local-typedef]
        typedef typename String_type::value_type Char_type;
                                                 ^
2 warnings generated.
ld: warning: direct access in function 'wxNavigationEnabled<wxWindow>::wxNavigationEnabled()' from file 'obj/AtlasUI_Debug/ActorEditor.o' to global weak symbol 'wxNavigationEnabled<wxWindow>::OnChildFocus(wxChildFocusEvent&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_filedlg.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxNavigationEnabled<wxWindow>::wxNavigationEnabled()' from file 'obj/AtlasUI_Debug/ActorEditor.o' to global weak symbol 'wxNavigationEnabled<wxWindow>::OnFocus(wxFocusEvent&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_filedlg.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxNavigationEnabled<wxWindow>::wxNavigationEnabled()' from file 'obj/AtlasUI_Debug/ActorEditor.o' to global weak symbol 'wxNavigationEnabled<wxWindow>::OnNavigationKey(wxNavigationKeyEvent&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_filedlg.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxStringToStringHashMap_wxImplementation_HashTable::clear()' from file 'obj/AtlasUI_Debug/ActorEditor.o' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxStringToNumHashMap_wxImplementation_HashTable::clear()' from file 'obj/AtlasUI_Debug/ActorEditor.o' to global weak symbol 'wxStringToNumHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxAnyButton::DoSetBitmap(wxBitmap const&, wxAnyButtonBase::State)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_anybutton_osx.o)' to global weak symbol 'typeinfo for wxButtonImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_button.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::GetComboPeer() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::GetCount() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::GetCount() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::DoDeleteOneItem(unsigned int)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::DoDeleteOneItem(unsigned int)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::DoClear()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::DoClear()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::GetSelection() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::GetSelection() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::SetSelection(int)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::SetSelection(int)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::FindString(wxString const&, bool) const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::GetString(unsigned int) const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::SetString(unsigned int, wxString const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::SetString(unsigned int, wxString const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::Popup()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::Popup()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxComboBox::Dismiss()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxComboBox::Dismiss()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_combobox_osx.o)' to global weak symbol 'typeinfo for wxComboWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_combobox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::Create(wxWindow*, int, wxPoint const&, wxSize const&, int, wxString const*, long, wxValidator const&, wxString const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::GetListPeer() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::~wxListBox()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::FreeData()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::DoSetFirstItem(int)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::EnsureVisible(int)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::DoDeleteOneItem(unsigned int)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::DoClear()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxListBox::DoClear()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::DoSetSelection(int, bool)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::IsSelected(int) const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::GetSelections(wxArrayInt&) const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::GetSelection() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'non-virtual thunk to wxListBox::GetSelection() const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::DoListHitTest(wxPoint const&) const' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxListBox::SetString(unsigned int, wxString const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_listbox_osx.o)' to global weak symbol 'typeinfo for wxListWidgetImpl' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_listbox.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxStringToStringHashMap_wxImplementation_HashTable::CreateNode(wxStringToStringHashMap_wxImplementation_Pair const&, unsigned long)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_containr.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::GetBucketForNode(wxStringToStringHashMap_wxImplementation_HashTable*, wxStringToStringHashMap_wxImplementation_HashTable::Node*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxLogRecordInfo::ExtraData::ExtraData()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_filefn.o)' to global weak symbol 'wxStringToNumHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxLog::CallDoLogNow(unsigned long, wxString const&, wxLogRecordInfo const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_log.o)' to global weak symbol 'wxStringToNumHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxLog::CallDoLogNow(unsigned long, wxString const&, wxLogRecordInfo const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_log.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxLogRecordInfo::Copy(wxLogRecordInfo const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_log.o)' to global weak symbol 'wxStringToNumHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxLogRecordInfo::Copy(wxLogRecordInfo const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_log.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::GetBucketForNode(wxStringToStringHashMap_wxImplementation_HashTable*, wxStringToStringHashMap_wxImplementation_HashTable::Node*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxLogRecordInfo::Copy(wxLogRecordInfo const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_log.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::GetBucketForNode(wxStringToStringHashMap_wxImplementation_HashTable*, wxStringToStringHashMap_wxImplementation_HashTable::Node*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxScopedPtr<wxMsgCatalog>::~wxScopedPtr()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_translation.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxTranslations::~wxTranslations()' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_translation.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxTranslations::GetBestTranslation(wxString const&, wxString const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_translation.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxTranslations::GetBestTranslation(wxString const&, wxString const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_translation.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxMsgCatalog::wxMsgCatalog(wxString const&)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_translation.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxExecute(char**, int, wxProcess*, wxExecuteEnv const*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_utilsunx.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'wxExecute(char**, int, wxProcess*, wxExecuteEnv const*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_baseu-3.0.a(baselib_utilsunx.o)' to global weak symbol 'wxStringToStringHashMap_wxImplementation_HashTable::DeleteNode(_wxHashTable_NodeBase*)' from file '/Users/wfg/Jenkins/workspace/macos-differential/libraries/osx/wxwidgets/lib/libwx_osx_cocoau_core-3.0.a(corelib_osx_cocoa_window.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
In file included from ../../../source/graphics/tests/test_Camera.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/graphics/tests/test_Camera.h:168:4: warning: suggest braces around initialization of subobject [-Wmissing-braces]
                        CVector3D(-101.0f, -101.0f, 101.0f),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../source/simulation2/tests/test_EntityMap.cpp:17:
/Users/wfg/Jenkins/workspace/macos-differential/source/simulation2/tests/test_EntityMap.h:233:40: error: no matching constructor for initialization of 'std::mt19937' (aka 'mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615U, 11, 4294967295U, 7, 2636928640U, 15, 4022730752U, 18, 1812433253>')
                std::shuffle(vec.begin(), vec.end(), std::mt19937{std::random_device{}});
                                                     ^           ~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/random:2056:29: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'std::random_device' to 'const std::__1::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>' for 1st argument
class _LIBCPP_TYPE_VIS_ONLY mersenne_twister_engine
                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/random:2056:29: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'std::random_device' to 'std::__1::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>' for 1st argument
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/random:2109:14: note: candidate constructor not viable: no known conversion from 'std::random_device' to 'result_type' (aka 'unsigned int') for 1st argument
    explicit mersenne_twister_engine(result_type __sd = default_seed)
             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/random:2113:18: note: candidate constructor [with _Sseq = std::__1::random_device] not viable: expects an l-value for 1st argument
        explicit mersenne_twister_engine(_Sseq& __q,
                 ^
1 error generated.
make[1]: *** [obj/test_Debug/test_EntityMap.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [test] Error 2

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

wraitii updated this revision to Diff 14094.Fri, Nov 20, 8:22 AM

Fix tests. In the spirit of coherence, I'm also moving the class to SoundGroup.cpp as its only user, a refactoring of randomness usage should decide what to do with it later.

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

builderr-debug-macos.txt
../../../source/soundmanager/scripting/SoundGroup.cpp:242:24: error: no matching function for call to 'rand'
        m_CurrentSoundIndex = rand(0, m_Filenames.size());
                              ^~~~
/usr/include/stdlib.h:159:6: note: candidate function not viable: requires 0 arguments, but 2 were provided
int      rand(void);
         ^
1 error generated.
make[1]: *** [obj/engine_Debug/SoundGroup.o] Error 1
make: *** [engine] Error 2

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

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

builderr-debug-gcc6.txt
../../../source/soundmanager/scripting/SoundGroup.cpp: In member function 'void CSoundGroup::PlayNext(const CVector3D&, entity_id_t)':
../../../source/soundmanager/scripting/SoundGroup.cpp:242:50: error: too many arguments to function 'int rand()'
  m_CurrentSoundIndex = rand(0, m_Filenames.size());
                                                  ^
In file included from /usr/local/include/c++/6.5.0/cstdlib:75:0,
                 from ../../../source/lib/sysdep/stl.h:32,
                 from ../../../source/lib/precompiled.h:71,
                 from ../../../source/pch/engine/precompiled.h:18:
/usr/include/stdlib.h:374:12: note: declared here
 extern int rand (void) __THROW;
            ^~~~
make[1]: *** [obj/engine_Debug/SoundGroup.o] Error 1
make: *** [engine] Error 2

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

wraitii updated this revision to Diff 14095.Fri, Nov 20, 8:29 AM

Failed to realize that SoundGroup.cpp still needed rand.h

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

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

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

builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine.a(precompiled.o) has no symbols

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

wraitii updated this revision to Diff 14099.Fri, Nov 20, 9:32 AM

FastRand() behind defines as noted by Stan

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

builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgui.a(precompiled.o) has no symbols

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