Message ID | 877dm3jzgo.fsf_-_@gnu.org |
---|---|
State | Accepted |
Headers | show |
Series | [bug#46724] gnu: vtk: Update to 9.0.1 | expand |
Context | Check | Description |
---|---|---|
cbaines/submitting builds | success | |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Ok, I'll take a look. On Fri, Mar 19, 2021 at 1:54 AM Ludovic Courtès <ludo@gnu.org> wrote: > > Hi Andy, > > Thanks for the update! I spent some time checking whether dependents, > as returned by ‘guix refresh -l vtk’, would still build. > > It turns out tha ‘mia’ no longer builds after this update because the > ‘VTK_INCLUDE_DIRS’ CMake variable remains empty. I’m not > familiar (or averse to?) CMake, and I couldn’t figure out why that is > the case. > > Could you take a look? > > As a last resort, we could preserve VTK 8.2 and use it in MIA. > > Attached is my variant of the patch, which propagates libogg, as was > needed for some dependents, but really we could/should propagate > libtheora, lz4, and double-conversion for the same reasons it seems. > > Let me know what you think! > > Thanks, > Ludo’. >
currently, mia build is actually broken with vtk 8.2.0, the version in guix repo; If I do guix install mia that actually fail in build: [ 13%] Building CXX object mia/core/fastica/CMakeFiles/test-fastica-deflation-deflationnonlinearity.dir/test_deflationnonlinearity.cc.o cd /tmp/guix-build-mia-2.4.6.drv-0/build/mia/core/fastica && /gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin/c++ -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_VERSION=3 -DBOOST_SYSTEM_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DHAVE_CONFIG_H -I/gnu/store/n50ikpnyzdda0zklwnmqasklcrif2csg-eigen-3.3.8/include/eigen3 -I/gnu/store/c8w9z48vvx2a3q3k44ch9yn00wk1qwhb-libxml2-2.9.10/include/libxml2 -I/tmp/guix-build-mia-2.4.6.drv-0/build -I/tmp/guix-build-mia-2.4.6.drv-0/mia-2.4.6 -fpermissive -fvisibility=hidden -O2 -g -DNDEBUG -DBOOST_TEST_DYN_LINK -o CMakeFiles/test-fastica-deflation-deflationnonlinearity.dir/test_deflationnonlinearity.cc.o -c /tmp/guix-build-mia-2.4.6.drv-0/mia-2.4.6/mia/core/fastica/test_deflationnonlinearity.cc /tmp/guix-build-mia-2.4.6.drv-0/mia-2.4.6/addons/vtk/vtkmesh.cc: In function ‘void vtkmia::read_normals(mia::CTriangleMesh&, vtkPointData&)’: /tmp/guix-build-mia-2.4.6.drv-0/mia-2.4.6/addons/vtk/vtkmesh.cc:179:12: error: ‘class vtkFloatArray’ has no member named ‘GetTupleValue’; did you mean ‘GetValue’? normals->GetTupleValue(i, &is->x); ^~~~~~~~~~~~~ GetValue /tmp/guix-build-mia-2.4.6.drv-0/mia-2.4.6/addons/vtk/vtkmesh.cc: In function ‘void vtkmia::read_colors(mia::CTriangleMesh&, vtkPointData&)’: /tmp/guix-build-mia-2.4.6.drv-0/mia-2.4.6/addons/vtk/vtkmesh.cc:211:11: error: ‘class vtkFloatArray’ has no member named ‘GetTupleValue’; did you mean ‘GetValue’? colors->GetTupleValue(i, &is->x); ^~~~~~~~~~~~~ GetValue make[2]: *** [addons/vtk/CMakeFiles/mesh-io-vtkmesh-common.dir/build.make:66: addons/vtk/CMakeFiles/mesh-io-vtkmesh-common.dir/vtkmesh.cc.o] Error 1 make[2]: Leaving directory '/tmp/guix-build-mia-2.4.6.drv-0/build' make[1]: *** [CMakeFiles/Makefile2:23838: addons/vtk/CMakeFiles/mesh-io-vtkmesh-common.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... make[2]: Leaving directory '/tmp/guix-build-mia-2.4.6.drv-0/build' So this makes a separate bug... On Fri, Mar 19, 2021 at 10:43 AM Andy Tai <atai@atai.org> wrote: > > Ok, I'll take a look. > > On Fri, Mar 19, 2021 at 1:54 AM Ludovic Courtès <ludo@gnu.org> wrote: > > > > Hi Andy, > > > > Thanks for the update! I spent some time checking whether dependents, > > as returned by ‘guix refresh -l vtk’, would still build. > > > > It turns out tha ‘mia’ no longer builds after this update because the > > ‘VTK_INCLUDE_DIRS’ CMake variable remains empty. I’m not > > familiar (or averse to?) CMake, and I couldn’t figure out why that is > > the case. > > > > Could you take a look? > > > > As a last resort, we could preserve VTK 8.2 and use it in MIA. > > > > Attached is my variant of the patch, which propagates libogg, as was > > needed for some dependents, but really we could/should propagate > > libtheora, lz4, and double-conversion for the same reasons it seems. > > > > Let me know what you think! > > > > Thanks, > > Ludo’. > > > > > -- > Andy Tai, atai@atai.org, Skype: licheng.tai, Line: andy_tai, WeChat: andytai1010 > Year 2021 民國110年 > 自動的精神力是信仰與覺悟 > 自動的行為力是勞動與技能
Hi Andy, Andy Tai <atai@atai.org> skribis: > currently, mia build is actually broken with vtk 8.2.0, the version in > guix repo; If I do Oh indeed, apologies for overlooking that. Then I guess we can go ahead with the VTK upgrade. Thanks, Ludo’.
Ludovic Courtès <ludo@gnu.org> skribis: >>From e91dde40896ab156e35ec31533a77c33672460d7 Mon Sep 17 00:00:00 2001 > From: Andy Tai <atai@atai.org> > Date: Thu, 18 Mar 2021 00:46:45 -0700 > Subject: [PATCH] gnu: vtk: Update to 9.0.1. > MIME-Version: 1.0 > Content-Type: text/plain; charset=UTF-8 > Content-Transfer-Encoding: 8bit > > * gnu/packages/image-processing.scm (vtk): Update to 9.0.1. > [source](snippet): Remove bundled "ogg" directory as well. > [arguments]: Adjust #:configure-flags. Add #:phases. > [inputs]: Add LIBOGG. > * gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch: Update. > > Co-authored-by: Ludovic Courtès <ludo@gnu.org> Finally applied, thanks! I’ll open a separate bug for MIA. Ludo’.
From e91dde40896ab156e35ec31533a77c33672460d7 Mon Sep 17 00:00:00 2001 From: Andy Tai <atai@atai.org> Date: Thu, 18 Mar 2021 00:46:45 -0700 Subject: [PATCH] gnu: vtk: Update to 9.0.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/image-processing.scm (vtk): Update to 9.0.1. [source](snippet): Remove bundled "ogg" directory as well. [arguments]: Adjust #:configure-flags. Add #:phases. [inputs]: Add LIBOGG. * gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch: Update. Co-authored-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/image-processing.scm | 65 ++++++++++++------- .../vtk-fix-freetypetools-build-failure.patch | 14 ++-- 2 files changed, 45 insertions(+), 34 deletions(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 26f6faea8c..605fc1aeb5 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2021 Oleh Malyi <astroclubzp@gmail.com> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -246,7 +247,7 @@ many popular formats.") (define-public vtk (package (name "vtk") - (version "8.2.0") + (version "9.0.1") (source (origin (method url-fetch) (uri (string-append "https://vtk.org/files/release/" @@ -254,7 +255,7 @@ many popular formats.") "/VTK-" version ".tar.gz")) (sha256 (base32 - "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl")) + "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v")) (patches (search-patches "vtk-fix-freetypetools-build-failure.patch")) (modules '((guix build utils))) @@ -264,35 +265,46 @@ many popular formats.") (lambda (dir) (delete-file-recursively (string-append "ThirdParty/" dir "/vtk" dir))) - ;; ogg, pugixml depended upon unconditionally + ;; pugixml depended upon unconditionally '("doubleconversion" "eigen" "expat" "freetype" "gl2ps" "glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4" - "netcdf" "png" "sqlite" "theora" "tiff" "zlib")) + "netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib")) #t)))) (build-system cmake-build-system) (arguments '(#:build-type "Release" ;Build without '-g' to save space. #:configure-flags '(;"-DBUILD_TESTING:BOOL=TRUE" - ;"-DVTK_MODULE_USE_EXTERNAL_vtkogg:BOOL=TRUE" ; not honored - "-DVTK_USE_SYSTEM_DOUBLECONVERSION:BOOL=TRUE" - "-DVTK_USE_SYSTEM_EIGEN:BOOL=TRUE" - "-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE" - "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE" - "-DVTK_USE_SYSTEM_GL2PS:BOOL=TRUE" - "-DVTK_USE_SYSTEM_GLEW:BOOL=TRUE" - "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE" - "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE" - "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE" - "-DVTK_USE_SYSTEM_LIBPROJ:BOOL=TRUE" - "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE" - "-DVTK_USE_SYSTEM_LZ4:BOOL=TRUE" - "-DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE" - "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE" - ;"-DVTK_USE_SYSTEM_PUGIXML:BOOL=TRUE" ; breaks IO/CityGML - "-DVTK_USE_SYSTEM_SQLITE:BOOL=TRUE" - "-DVTK_USE_SYSTEM_THEORA:BOOL=TRUE" - "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE" - "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE") + ; ; not honored + "-DVTK_USE_EXTERNAL=OFF" ;; default + "-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON" + ;"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON" ; breaks IO/CityGML + "-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON" + "-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON" + ) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + (substitute* "Common/Core/vtkFloatingPointExceptions.cxx" + (("<fenv.h>") "<cfenv>")) + (substitute* "Common/Core/CMakeLists.txt" + (("fenv.h") "cfenv"))))) #:tests? #f)) ;XXX: test data not included (inputs `(("double-conversion" ,double-conversion) @@ -305,7 +317,6 @@ many popular formats.") ("hdf5" ,hdf5) ("jpeg" ,libjpeg-turbo) ("jsoncpp" ,jsoncpp) - ;("libogg" ,libogg) ("libtheora" ,libtheora) ("libX11" ,libx11) ("libxml2" ,libxml2) @@ -320,6 +331,10 @@ many popular formats.") ("tiff" ,libtiff) ("xorgproto" ,xorgproto) ("zlib" ,zlib))) + (propagated-inputs + ;; VTK's 'VTK-vtk-module-find-packages.cmake' calls + ;; 'find_package(THEORA)', which in turns looks for libogg. + `(("libogg" ,libogg))) (home-page "https://vtk.org/") (synopsis "Libraries for 3D computer graphics") (description diff --git a/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch b/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch index 6988e65872..23f651b5eb 100644 --- a/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch +++ b/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch @@ -17,20 +17,16 @@ diff --git a/Rendering/FreeType/vtkFreeTypeTools.cxx b/Rendering/FreeType/vtkFre index c54289dc60..03b899c4da 100644 --- a/Rendering/FreeType/vtkFreeTypeTools.cxx +++ b/Rendering/FreeType/vtkFreeTypeTools.cxx -@@ -387,11 +387,8 @@ FTC_CMapCache* vtkFreeTypeTools::GetCMapCache() +@@ -378,8 +378,7 @@ FTC_CMapCache* vtkFreeTypeTools::GetCMapCache() } - + //---------------------------------------------------------------------------- -FT_CALLBACK_DEF(FT_Error) --vtkFreeTypeToolsFaceRequester(FTC_FaceID face_id, -- FT_Library lib, -- FT_Pointer request_data, -- FT_Face* face) +-vtkFreeTypeToolsFaceRequester( +static FT_Error vtkFreeTypeToolsFaceRequester( -+ FTC_FaceID face_id, FT_Library lib, FT_Pointer request_data, FT_Face* face) + FTC_FaceID face_id, FT_Library lib, FT_Pointer request_data, FT_Face* face) { #if VTK_FTFC_DEBUG_CD - printf("vtkFreeTypeToolsFaceRequester()\n"); --- +-- 2.30.1 -- 2.31.0