# ParaView (vtkm) build issue with windows/vs2017

**URL:** https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352
**Category:** Build & Install
**Created:** [November 22, 2019, 12:33am UTC](https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352 "2019-11-22T00:33:40Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![johnt](https://discourse.kitware.com/user_avatar/discourse.kitware.com/johnt/32/147_2.png) [@johnt](https://discourse.kitware.com/u/johnt)
#### Post date: [November 22, 2019, 12:33am UTC](https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352/1 "2019-11-22T00:33:40Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.kitware.com/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.kitware.com/u/ben.boeckel)
#### Post date: [November 26, 2019, 1:18pm UTC](https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352/2 "2019-11-26T13:18:01Z")

</div>

I recommend pinging Rob and/or Allie about this.

---

<div class="post-metadata">

### Author: ![johnt](https://discourse.kitware.com/user_avatar/discourse.kitware.com/johnt/32/147_2.png) [@johnt](https://discourse.kitware.com/u/johnt)
#### Post date: [November 26, 2019, 10:23pm UTC](https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352/3 "2019-11-26T22:23:19Z")

</div>

For those interested, the issue is resolved:

- The compile error occurs using VS2017 Version 15.0.26228.96 which, per [this microsoft page](https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes-v15.0), was released August 13.
- Per [this stackoverflow note](https://stackoverflow.com/a/55631470), 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.

---

<div class="post-metadata">

### Author: ![aron.helser](https://discourse.kitware.com/user_avatar/discourse.kitware.com/aron.helser/32/149_2.png) [@aron.helser](https://discourse.kitware.com/u/aron.helser)
#### Post date: [November 26, 2019, 11:08pm UTC](https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352/4 "2019-11-26T23:08:37Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![tj.corona](https://discourse.kitware.com/user_avatar/discourse.kitware.com/tj.corona/32/35_2.png) [@tj.corona](https://discourse.kitware.com/u/tj.corona)
#### Post date: [November 27, 2019, 1:02am UTC](https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352/5 "2019-11-27T01:02:50Z")

</div>

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:

```auto
    'slaveenv': {
        'PATH': 'C:/Qt/Qt5.9.1/5.9.1/msvc2015_64/bin;C:/d/data/smtk/developer/bin;C:/d/smtk/developer/lib;C:/d/data/smtk/developer/x64/vc14/bin;${PATH}',
        'PYTHONPATH': 'C:/d/data/smtk/developer/bin/Lib;C:/d/data/smtk/developer/lib/site-packages',
    },

```

---

<div class="post-metadata">

### Author: ![aron.helser](https://discourse.kitware.com/user_avatar/discourse.kitware.com/aron.helser/32/149_2.png) [@aron.helser](https://discourse.kitware.com/u/aron.helser)
#### Post date: [December 5, 2019, 10:23pm UTC](https://discourse.kitware.com/t/paraview-vtkm-build-issue-with-windows-vs2017/352/6 "2019-12-05T22:23:09Z")

</div>

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:

```auto
export PATH="/d/akit/cmb/smtk/build/bin:/d/akit/cmb/sb/build/install/bin:${PATH}"
export PYTHONPATH="D:/akit/cmb/sb/build/install/bin/Lib/site-packages;D:/akit/cmb/sb/build/install/lib;D:/akit/cmb/sb/build/install/bin;D:/akit/cmb/smtk/build/bin/Lib/site-packages"

```

( the Kerbin env doesn’t make sense to me - I only have bin/Lib/site-packages…)
