Using cmb-superbuild:master, a strange error occurred building a third-partly lib, taotuple, under vtkm. The message is that the std::swap function does not take 1 argument. @ben.boeckel can you advise on this?
cl : Command line warning D9025 : overriding '/W4' with '/W3'
c:\users\johnt\documents\ace3p\build\dev-superbuild\superbuild\paraview\src\vtk\thirdparty\vtkm\vtkvtkm\vtk-m\vtkm\thirdparty\taotuple\vtkmtaotuple\include\tao/tuple/tuple.hpp(104): error C2660: 'std::swap': function does not take 1 arguments
C:\Users\johnt\Documents\ace3p\build\dev-superbuild\superbuild\paraview\src\VTK\ThirdParty\vtkm\vtkvtkm\vtk-m\vtkm/cont/ArrayHandleDecorator.h(327): fatal error C1903: unable to recover from previous error(s); stopping compilation
Aside, there are also numerous warnings about /W4 vs /W3 that appear in many places.
I recommend pinging Rob and/or Allie about this.
For those interested, the issue is resolved:
- The compile error occurs using VS2017 Version 15.0.26228.96 which, per this microsoft page, was released August 13.
- Per this stackoverflow note, the “15.0” versions are the long-term-support releases that only include hot fixes. The other 15.x versions include both hot fixes and feature updates.
- And, sure enough, the compile error does NOT occur using the latest, not-long-term-support VS2017 (Version 15.9.17), which was released October 15. Evidently the source line in tuple.hpp requires a feature update that is not in the baseline VS2017. Go figure.
- Aside, because I am moving to VS2019 for future windows builds, the point has probably become moot. Nonetheless, my thanks to Rob & Allison for helping solve the mystery.
Progress for me - I’m able to complete a superbuild and an smtk build with VS2019 (and external QT 5.12). However, when I try to run tests in smtk, the unittests all fail with Exit code 0xc0000135.
I have not investigated further.
Windows is a tricky beast. You need to set your
path correctly in order to run unit tests. For example, Kerbin’s environment for testing SMTK is as follows:
OK, now we have a customer that has a bug that only reproduces on windows. So I installed the VS2019 redistrubutable (even though I have VS2019 installed) and it solved the missing DLLs running ctest from bash. I am not able to run python tests from inside ctest - however, I can set PYTHONPATH and run the command by hand successfully.
I have a superbuild build at
d:/akit/cmb/sb/build and an smtk developer build at
d:/akit/cmb/smtk/build, here’s what I set in bash:
( the Kerbin env doesn’t make sense to me - I only have bin/Lib/site-packages…)