As previously discussed during the recent staging cycle, VTK is failing to build, which in turn prevents FreeCAD from building:
------ [ 36%] Building CXX object Rendering/FreeType/CMakeFiles/vtkRenderingFreeType.dir/vtkFreeTypeTools.cxx.o cd /tmp/guix-build-vtk-8.2.0.drv-0/build/Rendering/FreeType && /gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin/c++ -DVTK_IN_VTK -DvtkRenderingFreeType_EXPORTS -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Rendering/FreeType -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Rendering/FreeType -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/Core -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/Core -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Utilities/KWIML -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Utilities/KWIML -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Utilities/KWSys -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Utilities/KWSys -I/tmp/guix-build-vtk-8.2.0.drv-0/build/ThirdParty/utf8 -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/ThirdParty/utf8 -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/DataModel -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/DataModel -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/Math -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/Math -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/Misc -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/Misc -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/System -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/System -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/Transforms -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/Transforms -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/ExecutionModel -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/ExecutionModel -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Filters/General -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Filters/General -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/ComputationalGeometry -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/ComputationalGeometry -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Filters/Core -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Filters/Core -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Rendering/Core -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Rendering/Core -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Common/Color -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Common/Color -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Filters/Geometry -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Filters/Geometry -I/tmp/guix-build-vtk-8.2.0.drv-0/build/Filters/Sources -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Filters/Sources -I/tmp/guix-build-vtk-8.2.0.drv-0/build/ThirdParty/freetype -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/ThirdParty/freetype -I/gnu/store/j3f5hx6yvhlj3sapiipigkwg05b49nwn-freetype-2.10.4/include/freetype2 -I/tmp/guix-build-vtk-8.2.0.drv-0/build/ThirdParty/zlib -I/tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/ThirdParty/zlib -O3 -DNDEBUG -fPIC -fvisibility=hidden -std=c++11 -o CMakeFiles/vtkRenderingFreeType.dir/vtkFreeTypeTools.cxx.o -c /tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Rendering/FreeType/vtkFreeTypeTools.cxx /tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Rendering/FreeType/vtkFreeTypeTools.cxx:391:1: error: expected constructor, destructor, or type conversion before ‘vtkFreeTypeToolsFaceRequester’ vtkFreeTypeToolsFaceRequester(FTC_FaceID face_id, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Rendering/FreeType/vtkFreeTypeTools.cxx: In member function ‘virtual FT_Error vtkFreeTypeTools::CreateFTCManager()’: /tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Rendering/FreeType/vtkFreeTypeTools.cxx:1252:26: error: ‘vtkFreeTypeToolsFaceRequester’ was not declared in this scope vtkFreeTypeToolsFaceRequester, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/guix-build-vtk-8.2.0.drv-0/VTK-8.2.0/Rendering/FreeType/vtkFreeTypeTools.cxx:1252:26: note: suggested alternative: ‘vtkFreeTypeToolsCleanupCounter’ vtkFreeTypeToolsFaceRequester, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtkFreeTypeToolsCleanupCounter make[2]: *** [Rendering/FreeType/CMakeFiles/vtkRenderingFreeType.dir/build.make:79: Rendering/FreeType/CMakeFiles/vtkRenderingFreeType.dir/vtkFreeTypeTools.cxx.o] Error 1 make[2]: Leaving directory '/tmp/guix-build-vtk-8.2.0.drv-0/build' make[1]: *** [CMakeFiles/Makefile2:3561: Rendering/FreeType/CMakeFiles/vtkRenderingFreeType.dir/all] Error 2 make[1]: Leaving directory '/tmp/guix-build-vtk-8.2.0.drv-0/build' make: *** [Makefile:133: all] Error 2 command "make" "-j" "1" failed with status 2 note: keeping build directory `/tmp/guix-build-vtk-8.2.0.drv-0' builder for `/gnu/store/a7vj4gmym93xhnlbj6q7dsrgyvppcsk2-vtk-8.2.0.drv' failed with exit code 1 ------ Here's what I wrote during the staging cycle: ------ For example, the vtk package is broken due to incompatibility with new Freetype, which breaks FreeCAD. On #guix, Marius said "I looked into VTK before the holidays; the Freetype issue is fixed in version 9, but that has other problems, such as making it impossible to unbundle the dozens of libraries that we are currently unbundling [...] it is possible to backport the VTK commits that fix Freetype compatibility, but it will be a lot of work and a huge patch (it was a major cleanup IIRC)." I'm CC-ing Ekaitz Zarraga, who has been working on FreeCAD. I'm not sure what we can do about this problem in the short term. Marius, can you give more info about the bundling problem? ------ Ultimately, it seems to be a compatibility issue, combined with difficulty of "updating our way out of it". Maybe we should re-instate the graft? I know it's icky to think that the graft was masking some problem, but is it worse than not having the affected packages at all? Were things actually not working while the graft was in place? What do you think? [0] https://lists.gnu.org/archive/html/guix-devel/2021-01/msg00292.html