[PATCH] gnu: vtk: Update to 9.0.1

  • Done
  • quality assurance status badge
Details
3 participants
  • Andy Tai
  • Andy Tai
  • Ludovic Courtès
Owner
unassigned
Submitted by
Andy Tai
Severity
normal
A
A
Andy Tai wrote on 23 Feb 2021 20:16
(address . guix-patches@gnu.org)
CAJsg1E-pFSAotmK9n1d-UYdXGXvTLqnnQ7myGh=bY9rqpw2vJQ@mail.gmail.com
* gnu/packages/image-processing.scm (vtk): Update to 9.0.1
---
gnu/packages/image-processing.scm | 50 ++++++++++---------------------
1 file changed, 15 insertions(+), 35 deletions(-)

Toggle diff (84 lines)
diff --git a/gnu/packages/image-processing.scm
b/gnu/packages/image-processing.scm
index c3ea8491d9..3af9b3c6c3 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Oleh Malyi <astroclubzp@gmail.com>
+;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -245,7 +246,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/"
@@ -253,44 +254,23 @@ many popular formats.")
"/VTK-" version ".tar.gz"))
(sha256
(base32
- "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (for-each
- (lambda (dir)
- (delete-file-recursively
- (string-append "ThirdParty/" dir "/vtk" dir)))
- ;; ogg, pugixml depended upon unconditionally
- '("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
- "glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
- "netcdf" "png" "sqlite" "theora" "tiff" "zlib"))
- #t))))
+ "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v"))
+ (modules '((guix build utils)))))
(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")
+ #: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"))
+ #t)))
#:tests? #f)) ;XXX: test data not included
+ (native-inputs
+ `(("python", python-wrapper)))
(inputs
`(("double-conversion" ,double-conversion)
("eigen" ,eigen)
--
2.30.1
A
A
Andy Tai wrote on 23 Feb 2021 20:25
helps OpenCV build
(address . 46724@debbugs.gnu.org)
CAJsg1E9yDN1GVk+GxOSTMwV7YNzZeK3xOWvpiyz=+3VN_5a9Ug@mail.gmail.com
This patch also allows OpenCV 3.4.3 (in guix repo) to build
L
L
Ludovic Courtès wrote on 2 Mar 2021 20:23
Re: bug#46724: [PATCH] gnu: vtk: Update to 9.0.1
(name . Andy Tai)(address . atai@atai.org)(address . 46724@debbugs.gnu.org)
87r1kxuzqa.fsf@gnu.org
Hi,

Andy Tai <atai@atai.org> skribis:

Toggle quote (2 lines)
> * gnu/packages/image-processing.scm (vtk): Update to 9.0.1

[...]

Toggle quote (13 lines)
> - (snippet
> - '(begin
> - (for-each
> - (lambda (dir)
> - (delete-file-recursively
> - (string-append "ThirdParty/" dir "/vtk" dir)))
> - ;; ogg, pugixml depended upon unconditionally
> - '("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
> - "glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
> - "netcdf" "png" "sqlite" "theora" "tiff" "zlib"))
> - #t))))
> + "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v"))

[...]

Toggle quote (21 lines)
> - "-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")

Could you confirm that there’s no bundled software left? That’d be
great news but also quite surprising.

TIA!

Ludo’.
A
A
Andy Tai wrote on 2 Mar 2021 20:37
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 46724@debbugs.gnu.org)
CAJsg1E-Ak2HZa4RAvv_9mCaHLHq3z7r500xNVnq7mCha8e=YVQ@mail.gmail.com
err.... the bundles are still there. Actually I tried to build with some
bundled components configured out (instead using what is in Guix) and
things don't compile... I am not sure if the external copies can be used at
all. so I am not sure the best route to go... the patch as is does compile
and build, at least

On Tue, Mar 2, 2021 at 11:23 AM Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (55 lines)
> Hi,
>
> Andy Tai <atai@atai.org> skribis:
>
> > * gnu/packages/image-processing.scm (vtk): Update to 9.0.1
>
> [...]
>
> > - (snippet
> > - '(begin
> > - (for-each
> > - (lambda (dir)
> > - (delete-file-recursively
> > - (string-append "ThirdParty/" dir "/vtk" dir)))
> > - ;; ogg, pugixml depended upon unconditionally
> > - '("doubleconversion" "eigen" "expat" "freetype"
> "gl2ps"
> > - "glew" "hdf5" "jpeg" "jsoncpp" "libproj"
> "libxml2" "lz4"
> > - "netcdf" "png" "sqlite" "theora" "tiff" "zlib"))
> > - #t))))
> > + "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v"))
>
> [...]
>
> > - "-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")
>
> Could you confirm that there’s no bundled software left? That’d be
> great news but also quite surprising.
>
> TIA!
>
> Ludo’.
>


--
Andy Tai, atai@atai.org, Skype: licheng.tai, Line: andy_tai, WeChat:
andytai1010
Year 2021 ??110?
????????????
????????????
Attachment: file
L
L
Ludovic Courtès wrote on 6 Mar 2021 11:36
(name . Andy Tai)(address . atai@atai.org)(address . 46724@debbugs.gnu.org)
87o8fwin6k.fsf_-_@gnu.org
Hi,

Andy Tai <atai@atai.org> skribis:

Toggle quote (6 lines)
> err.... the bundles are still there. Actually I tried to build with some
> bundled components configured out (instead using what is in Guix) and
> things don't compile... I am not sure if the external copies can be used at
> all. so I am not sure the best route to go... the patch as is does compile
> and build, at least

It would be great if you could investigate the build failures a bit so
we have an idea of how much effort it would be to use the external
copies of these.

Thanks,
Ludo’.
A
A
Andy Tai wrote on 7 Mar 2021 01:08
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 46724@debbugs.gnu.org)
CAJsg1E_UcfEikiGTpqvBcYvX_Mzrt_+dQGrh8=ox2NoM-GnZaQ@mail.gmail.com
OK I will try. Thanks


On Sat, Mar 6, 2021 at 2:36 AM Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (17 lines)
>
> Hi,
>
> Andy Tai <atai@atai.org> skribis:
>
> > err.... the bundles are still there. Actually I tried to build with some
> > bundled components configured out (instead using what is in Guix) and
> > things don't compile... I am not sure if the external copies can be used at
> > all. so I am not sure the best route to go... the patch as is does compile
> > and build, at least
>
> It would be great if you could investigate the build failures a bit so
> we have an idea of how much effort it would be to use the external
> copies of these.
>
> Thanks,
> Ludo’.
L
L
Ludovic Courtès wrote on 17 Mar 2021 21:58
control message for bug #46724
(address . control@debbugs.gnu.org)
87wnu5xztx.fsf@gnu.org
tags 46724 + moreinfo
quit
A
A
Andy Tai wrote on 18 Mar 2021 08:59
Re: bug#46724: [PATCH] gnu: vtk: Update to 9.0.1
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 46724@debbugs.gnu.org)
CAJsg1E-VHPNuhcXF9_7HKjyedyryWJDujx+kZoULN4g1BOb8zw@mail.gmail.com
the updated patch builds vtk successfully and allows using external
copies of the same third party packages as the current vtk in guix
updated patch as attached
A
A
Andy Tai wrote on 18 Mar 2021 10:03
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 46724@debbugs.gnu.org)
CAJsg1E9fKQY-1r7UECXfyigSWwh_xAxjYyHuU5Cj32Rw7XQuhw@mail.gmail.com
a new update: make one more third party package (ogg) use the external copy
L
L
Ludovic Courtès wrote on 19 Mar 2021 09:54
(name . Andy Tai)(address . atai@atai.org)(address . 46724@debbugs.gnu.org)
877dm3jzgo.fsf_-_@gnu.org
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’.
A
A
Andy Tai wrote on 19 Mar 2021 18:43
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 46724@debbugs.gnu.org)
CAJsg1E-yu6jP4zCejD-h60zXayd2QU5fj25AgYHjyvk_aCQX=g@mail.gmail.com
Ok, I'll take a look.

On Fri, Mar 19, 2021 at 1:54 AM Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (26 lines)
>
> 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?
????????????
????????????
A
A
Andy Tai wrote on 29 Mar 2021 08:42
(address . 46724@debbugs.gnu.org)
CAJsg1E9uNiDeG8vZiMY8yiScWA9znuk6JQWo0p+vRPDY2z-6BQ@mail.gmail.com
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:
Toggle quote (38 lines)
>
> 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?
> ????????????
> ????????????



--
Andy Tai, atai@atai.org, Skype: licheng.tai, Line: andy_tai, WeChat: andytai1010
Year 2021 ??110?
????????????
????????????
L
L
Ludovic Courtès wrote on 2 Apr 2021 08:55
(name . Andy Tai)(address . atai@atai.org)(address . 46724@debbugs.gnu.org)
87k0pl41lh.fsf_-_@gnu.org
Hi Andy,

Andy Tai <atai@atai.org> skribis:

Toggle quote (3 lines)
> 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’.
L
L
Ludovic Courtès wrote on 2 Apr 2021 09:03
(name . Andy Tai)(address . atai@atai.org)(address . 46724-done@debbugs.gnu.org)
87ft09418h.fsf_-_@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (16 lines)
>>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’.
Closed
?