# Error from vtkm in ArrayPortalToIterators.h when building with ParaView superbuild for ParaView 5.8.0-RC1

**URL:** https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345
**Category:** Development
**Created:** [January 15, 2020, 7:08pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345 "2020-01-15T19:08:49Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![joeh](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/ce7236/32.png) [@joeh](https://discourse.paraview.org/u/joeh)
#### Post date: [January 15, 2020, 7:08pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/1 "2020-01-15T19:08:49Z")

</div>

Hello,

I am getting the following errors from vtkm when building ParaView superbuild for ParaView 5.8.0-RC1  
with gcc 4.8.5 on RHEL 7.7.

There seems to have been an attempt to fix this error in ArrayPortalToIterators.h

Since the last change in the git history is

ArrayPortalToIterators now compiles with GCC-4.X

But it is still throwing the following error for me.

/home/joeh/PV/Build\_5.8.0-RC1\_mesa/superbuild/paraview/src/VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/cont/ArrayPortalToIterators.h:90:34: error: using invalid field ‘vtkm::cont::ArrayPortalToIterators\<PortalType, void\>::Begin’  
/home/joeh/PV/Build\_5.8.0-RC1\_mesa/superbuild/paraview/src/VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/cont/ArrayPortalToIterators.h:90:34: error: ‘const class vtkm::ArrayPortalRef\<vtkm::Vec\<float, 3\> \>’ has no member named ‘GetIteratorBegin’  
/home/joeh/PV/Build\_5.8.0-RC1\_mesa/superbuild/paraview/src/VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/cont/ArrayPortalToIterators.h:90:34: error: using invalid field ‘vtkm::cont::ArrayPortalToIterators\<PortalType, void\>::End’  
/home/joeh/PV/Build\_5.8.0-RC1\_mesa/superbuild/paraview/src/VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/cont/ArrayPortalToIterators.h:90:34: error: ‘const class vtkm::ArrayPortalRef\<vtkm::Vec\<float, 3\> \>’ has no member named ‘GetIteratorEnd’

Thanks,

Joe Hennessey

---

<div class="post-metadata">

### Author: ![Kenneth\_Moreland](https://discourse.paraview.org/user_avatar/discourse.paraview.org/kenneth_moreland/32/15033_2.png) [@Kenneth\_Moreland](https://discourse.paraview.org/u/Kenneth_Moreland)
#### Post date: [January 15, 2020, 7:30pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/2 "2020-01-15T19:30:29Z")

</div>

@robert.maynard Are you familiar with this error?

---

<div class="post-metadata">

### Author: ![robert.maynard](https://discourse.paraview.org/user_avatar/discourse.paraview.org/robert.maynard/32/93_2.png) [@robert.maynard](https://discourse.paraview.org/u/robert.maynard)
#### Post date: [January 15, 2020, 8:05pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/3 "2020-01-15T20:05:12Z")

</div>

I believe this issue was resolved with [VTK-m MR #1934](https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1934)

I expect that ParaView needs to update to a newer version VTK that has these changes merged in.

---

<div class="post-metadata">

### Author: ![cory.quammen](https://discourse.paraview.org/user_avatar/discourse.paraview.org/cory.quammen/32/11193_2.png) [@cory.quammen](https://discourse.paraview.org/u/cory.quammen)
#### Post date: [January 15, 2020, 8:10pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/4 "2020-01-15T20:10:28Z")

</div>

VTK itself does not have those VTK-m changes yet. Is there any reason to not update VTK-m in VTK?

---

<div class="post-metadata">

### Author: ![joeh](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/ce7236/32.png) [@joeh](https://discourse.paraview.org/u/joeh)
#### Post date: [January 15, 2020, 8:12pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/5 "2020-01-15T20:12:59Z")

</div>

Robert,

I think that change may have been merged in, and that it still does not work properly.

This is the last commit

- 23 Dec, 2019 1 commit
- 
  - ([https://gitlab.kitware.com/robertmaynard](https://gitlab.kitware.com/robertmaynard))

[ArrayPortalToIterators now compiles with GCC-4.X](https://gitlab.kitware.com/vtk/vtk-m/commit/83d4d4e4954d2f4aec489f9a325981cf6aa36f2e)

[Robert Maynard](https://gitlab.kitware.com/robertmaynard) authored 3 weeks ago

83d4d4e4

Changes…

namespace vtkmstd  
{

/// Implementation of std::void\_t (C++17):  
/// Allows for specialization of class templates based on members of template  
/// parameters.  
#if defined(VTKM\_GCC) && ( **GNUC** \< 5)  
// Due to a defect in the wording (CWG 1558) unused parameters in alias templates  
// were not guaranteed to ensure SFINAE, and therefore would consider everything  
// to match the ‘true’ side. For VTK-m the only known compiler that implemented  
// this defect is GCC \< 5.  
template \<class… T\>  
struct void\_pack  
{  
using type = void;  
};  
template \<class… T\>  
using void\_t = typename void\_pack\<T…\>::type;  
#else  
template \<typename…\>  
using void\_t = void;  
#endif

} // end namespace vtkmstd

Thanks,

Joe

---

<div class="post-metadata">

### Author: ![robert.maynard](https://discourse.paraview.org/user_avatar/discourse.paraview.org/robert.maynard/32/93_2.png) [@robert.maynard](https://discourse.paraview.org/u/robert.maynard)
#### Post date: [January 15, 2020, 8:28pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/6 "2020-01-15T20:28:39Z")

</div>

@joeh I will try to reproduce. I have access to gcc-4.8.5 on RHEL 7.6

---

<div class="post-metadata">

### Author: ![robert.maynard](https://discourse.paraview.org/user_avatar/discourse.paraview.org/robert.maynard/32/93_2.png) [@robert.maynard](https://discourse.paraview.org/u/robert.maynard)
#### Post date: [January 15, 2020, 9:04pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/7 "2020-01-15T21:04:21Z")

</div>

I can’t think of a reason why we can’t update VTK-m in VTK.

---

<div class="post-metadata">

### Author: ![robert.maynard](https://discourse.paraview.org/user_avatar/discourse.paraview.org/robert.maynard/32/93_2.png) [@robert.maynard](https://discourse.paraview.org/u/robert.maynard)
#### Post date: [January 16, 2020, 2:00pm UTC](https://discourse.paraview.org/t/error-from-vtkm-in-arrayportaltoiterators-h-when-building-with-paraview-superbuild-for-paraview-5-8-0-rc1/3345/8 "2020-01-16T14:00:20Z")

</div>

@joeh Looking at VTK and I see that it currently is using a version of VTK-m that doesn’t have my GCC 4.8.X fix included. I looked at [https://gitlab.kitware.com/vtk/vtk/tree/master/ThirdParty/vtkm/vtkvtkm](https://gitlab.kitware.com/vtk/vtk/tree/master/ThirdParty/vtkm/vtkvtkm) and see that it is using SHA1 [b3082721](https://gitlab.kitware.com/vtk/vtk-m/tree/b30827215cfbfaae05943699d176ff1ca0e10471) which is before SHA1 [83d4d4e4](https://gitlab.kitware.com/vtk/vtk-m/commit/83d4d4e4954d2f4aec489f9a325981cf6aa36f2e). I have verified that with these changes VTK does compile with gcc-4.8.5 / RHE 7.6.

The next steps are:

1. Update VTK to use a newer version of VTK-m. You can track the progress of this at: [https://gitlab.kitware.com/vtk/vtk/merge\_requests/6393](https://gitlab.kitware.com/vtk/vtk/merge_requests/6393)

2. Update ParaView to use this newer version of VTK
