Bug 1840957

Summary: FreeCAD fails to build with VTK 9.0
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: freecadAssignee: Richard Shaw <hobbes1069>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 34CC: cz172638, hobbes1069, john
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://forum.freecadweb.org/viewtopic.php?f=4&t=46934
Whiteboard:
Fixed In Version: freecad-0.19.2-1.fc34 freecad-0.19.2-1.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-10 01:05:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Orion Poplawski 2020-05-28 01:46:48 UTC
Description of problem:

I'm testing builds with VTK 9.0 here:
https://copr.fedorainfracloud.org/coprs/orion/vtk9.0/builds/

freecad fails to build with:

[  0%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/Driver.dir/src/Driver/Driver_Mesh.cpp.o
cd /builddir/build/BUILD/FreeCAD-0.18.4/build/src/3rdParty/salomesmesh && /usr/bin/c++  -DCSFDB -DDriver_EXPORTS -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DLIN -DOCC_CONVERT_SIGNALS -D_OCC64 -I/builddir/build/BUILD/FreeCAD-0.18.4/build -I/builddir/build/BUILD/FreeCAD-0.18.4/build/src -I/builddir/build/BUILD/FreeCAD-0.18.4/src -I/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS -I/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/Driver -I/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/DriverUNV -I/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/DriverDAT -I/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/DriverSTL -I/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/StdMeshers -I/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc -I/builddir/build/BUILD/FreeCAD-0.18.4/build/src/3rdParty/salomesmesh -I/usr/include/opencascade -I/usr/include/med  -Wall -Wextra -Wno-write-strings -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++11 -D_OCC64 -Wno-sign-compare -Wno-reorder -Wno-switch -Wno-unused-variable -Wno-unused-but-set-variable -Wno-comment -Wno-unused-parameter -fPIC   -o CMakeFiles/Driver.dir/src/Driver/Driver_Mesh.cpp.o -c /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/Driver/Driver_Mesh.cpp
In file included from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_VtkVolume.hxx:26,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_Mesh.hxx:45,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp:28:
/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx: In member function 'vtkCellLinks* SMDS_UnstructuredGrid::GetLinks()':
/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx:98:12: error: invalid user-defined conversion from 'vtkSmartPointer<vtkAbstractCellLinks>' to 'vtkCellLinks*' [-fpermissive]
   98 |     return Links;
      |            ^~~~~
In file included from /usr/include/vtk/vtkGenericDataArray.h:73,
                 from /usr/include/vtk/vtkAOSDataArrayTemplate.h:36,
                 from /usr/include/vtk/vtkCellArray.h:141,
                 from /usr/include/vtk/vtkUnstructuredGrid.h:31,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_VtkEdge.hxx:30,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_Mesh.hxx:43,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp:28:
/usr/include/vtk/vtkSmartPointer.h:188:3: note: candidate is: 'vtkSmartPointer<ArrayType>::operator T*() const [with T = vtkAbstractCellLinks]' (near match)
  188 |   operator T*() const noexcept { return static_cast<T*>(this->Object); }
      |   ^~~~~~~~
/usr/include/vtk/vtkSmartPointer.h:188:3: note:   no known conversion from 'vtkAbstractCellLinks*' to 'vtkCellLinks*'
/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp: In member function 'bool SMDS_BallElement::ChangeNode(const SMDS_MeshNode*)':
/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp:72:38: error: binding reference of type 'const vtkIdType*&' {aka 'const long long int*&'} to 'vtkIdType*' {aka 'long long int*'} discards qualifiers
   72 |   grid->GetCellPoints(myVtkID, npts, pts);
      |                                      ^~~
In file included from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_VtkEdge.hxx:30,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_Mesh.hxx:43,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp:28:
/usr/include/vtk/vtkUnstructuredGrid.h:196:75: note:   initializing argument 3 of 'void vtkUnstructuredGrid::GetCellPoints(vtkIdType, vtkIdType&, const vtkIdType*&)'
  196 |   void GetCellPoints(vtkIdType cellId, vtkIdType& npts, vtkIdType const*& pts)
      |                                                         ~~~~~~~~~~~~~~~~~~^~~
/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp: In member function 'virtual const SMDS_MeshNode* SMDS_BallElement::GetNode(int) const':
/builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp:87:39: error: binding reference of type 'const vtkIdType*&' {aka 'const long long int*&'} to 'vtkIdType*' {aka 'long long int*'} discards qualifiers
   87 |   grid->GetCellPoints( myVtkID, npts, pts );
      |                                       ^~~
In file included from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_VtkEdge.hxx:30,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/inc/SMDS_Mesh.hxx:43,
                 from /builddir/build/BUILD/FreeCAD-0.18.4/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp:28:
/usr/include/vtk/vtkUnstructuredGrid.h:196:75: note:   initializing argument 3 of 'void vtkUnstructuredGrid::GetCellPoints(vtkIdType, vtkIdType&, const vtkIdType*&)'
  196 |   void GetCellPoints(vtkIdType cellId, vtkIdType& npts, vtkIdType const*& pts)
      |                                                         ~~~~~~~~~~~~~~~~~~^~~
make[2]: *** [src/3rdParty/salomesmesh/CMakeFiles/SMDS.dir/build.make:86: src/3rdParty/salomesmesh/CMakeFiles/SMDS.dir/src/SMDS/SMDS_BallElement.cpp.o] Error 1

Version-Release number of selected component (if applicable):
freecad-0.18.4-7

Comment 1 Ben Cotton 2020-08-11 13:34:35 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 2 Orion Poplawski 2021-01-31 17:02:39 UTC
Still failing:

[ 27%] Copying /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/Mod/Draft/draftguitools/gui_polygons.py to /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/x86_64-redhat-linux-gnu/Mod/Draft/draftguitools/gui_polygons.py
cd /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/x86_64-redhat-linux-gnu/src/Mod/Draft && /usr/bin/cmake -E copy /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/Mod/Draft/draftguitools/gui_polygons.py /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/x86_64-redhat-linux-gnu/Mod/Draft/draftguitools/gui_polygons.py
In file included from /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/3rdParty/salomesmesh/inc/SMDS_Downward.hxx:27,
                 from /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp:24:
/builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx: In member function 'vtkCellLinks* SMDS_UnstructuredGrid::GetLinks()':
/builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx:98:12: error: invalid user-defined conversion from 'vtkSmartPointer<vtkAbstractCellLinks>' to 'vtkCellLinks*' [-fpermissive]
   98 |     return Links;
      |            ^~~~~
In file included from /usr/include/vtk/vtkGenericDataArray.h:73,
                 from /usr/include/vtk/vtkAOSDataArrayTemplate.h:36,
                 from /usr/include/vtk/vtkCellArray.h:141,
                 from /usr/include/vtk/vtkUnstructuredGrid.h:31,
                 from /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx:29,
                 from /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/3rdParty/salomesmesh/inc/SMDS_Downward.hxx:27,
                 from /builddir/build/BUILD/FreeCAD-4db83a41ca5800a0238a3030c81e33950c3070a3/src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp:24:
/usr/include/vtk/vtkSmartPointer.h:188:3: note: candidate is: 'vtkSmartPointer<ArrayType>::operator T*() const [with T = vtkAbstractCellLinks]' (near match)
  188 |   operator T*() const noexcept { return static_cast<T*>(this->Object); }
      |   ^~~~~~~~
/usr/include/vtk/vtkSmartPointer.h:188:3: note:   no known conversion from 'vtkAbstractCellLinks*' to 'vtkCellLinks*'


https://koji.fedoraproject.org/koji/taskinfo?taskID=60976057

Comment 3 Ben Cotton 2021-02-09 15:15:09 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle.
Changing version to 34.

Comment 4 Fedora Update System 2021-05-05 21:29:18 UTC
FEDORA-2021-7639ce16f6 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-7639ce16f6

Comment 5 Fedora Update System 2021-05-06 01:34:10 UTC
FEDORA-2021-7639ce16f6 has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-7639ce16f6`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-7639ce16f6

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2021-05-06 01:58:30 UTC
FEDORA-2021-e69bf4bd76 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-e69bf4bd76`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-e69bf4bd76

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2021-05-10 01:05:36 UTC
FEDORA-2021-e69bf4bd76 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2021-05-14 21:11:45 UTC
FEDORA-2021-7639ce16f6 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.