Search Criteria
Package Details: mingw-w64-vtk 9.3.1-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/mingw-w64-vtk.git (read-only, click to copy) |
---|---|
Package Base: | mingw-w64-vtk |
Description: | A software system for 3D computer graphics, image processing, and visualization (mingw-w64) |
Upstream URL: | http://www.vtk.org/ |
Licenses: | BSD |
Submitter: | xantares |
Maintainer: | xantares |
Last Packager: | xantares |
Votes: | 0 |
Popularity: | 0.000000 |
First Submitted: | 2014-10-04 11:06 (UTC) |
Last Updated: | 2024-08-23 06:57 (UTC) |
Dependencies (24)
- mingw-w64-cgnsAUR
- mingw-w64-crt (llvm-mingw-w64-toolchain-ucrt-binAUR, llvm-mingw-w64-toolchain-msvcrt-binAUR)
- mingw-w64-double-conversionAUR
- mingw-w64-expatAUR
- mingw-w64-freeglutAUR
- mingw-w64-freetype2AUR (mingw-w64-freetype2-bootstrapAUR)
- mingw-w64-gl2psAUR
- mingw-w64-glewAUR
- mingw-w64-hdf5AUR
- mingw-w64-jsoncppAUR
- mingw-w64-libharuAUR
- mingw-w64-libjpeg-turboAUR (mingw-w64-libjpegAUR)
- mingw-w64-libpngAUR
- mingw-w64-libtheoraAUR
- mingw-w64-libtiffAUR
- mingw-w64-libxml2AUR
- mingw-w64-lz4AUR
- mingw-w64-netcdfAUR
- mingw-w64-projAUR
- mingw-w64-pugixmlAUR
- mingw-w64-qt5-baseAUR
- mingw-w64-verdictAUR
- mingw-w64-cmakeAUR (llvm-mingw-w64-cmakeAUR) (make)
- mingw-w64-wineAUR (make)
Latest Comments
xantares commented on 2023-05-11 13:26 (UTC) (edited on 2023-05-11 13:27 (UTC) by xantares)
anyways it should be reasonable to disable this module for now
-DVTK_MODULE_ENABLE_VTK_IOExportPDF=NO
xantares commented on 2023-05-11 12:18 (UTC) (edited on 2023-05-11 12:20 (UTC) by xantares)
I dont see how it would link to static libs since mingw-w64-libharu only provides shared libs
in the CMakeCache I can read:
LibHaru_LIBRARY_RELEASE:FILEPATH=/usr/i686-w64-mingw32/lib/libhpdf.dll.a
whats the output of "pacman -Ql mingw-w64-libharu" on your side ?
biergaizi commented on 2023-05-11 04:44 (UTC)
I've solved the problem. The error message
undefined reference to
_imp__HPDF_Page_GSave@4'contains the key to the solution: the prefix
_imp__` means MinGW is attempting to link a static library, but the functions are exported as if it's a dynamic library.This is different from the existing bug that was already fix in my previous link, which fixed the link failure when libharu is dynamically linked.
In conclusion, when libharu is dynamically linked, the macro HPDF_DLL must be set, but when libharu is statically linked, HPDF_DLL must be unset.
This is actually what
VTK-9.2.2/ThirdParty/libharu/CMakeLists.txt
tries to do. But for some reason, it's not working properly. To solve this problem, my hack is to remove the check and always set HPDF_DLL to 0. I call this patchlibharu-force-static-noexport.patch
.After applying this patch, VTK can be built successfully. To solve the problem, just apply this patch for now.
But ultimately, a proper fix instead of a hack should be upstreamed. I don't know why MinGW is attempting to link statically, and I don't know how it's achieved, I don't see any special option to CMake - is it set in some environmental variable or configuration files of the MinGW toolchains themselves? I don't know much about CMake, MinGW, or ArchLinux's MinGW distribution, I'll left the analysis to a real MinGW expert...
biergaizi commented on 2023-05-10 21:49 (UTC) (edited on 2023-05-10 21:50 (UTC) by biergaizi)
Unfortunately, I just found the build is still broken at link time with a massive number of undefined reference errors related to HPDF, because some DLL functions aren't exported correctly by upstream code.
A similar problem was apparently already reported and fixed 5 years ago at upstream: https://gitlab.kitware.com/vtk/vtk/-/issues/17074
But it still appears broken. Perhaps they fixed native build but cross-compile was not fixed properly, or perhaps it's a regression.
The error messages were:
xantares commented on 2023-05-10 20:13 (UTC) (edited on 2023-05-10 20:13 (UTC) by xantares)
it should be a bit better now, eventough its not fully tested
biergaizi commented on 2023-05-10 20:06 (UTC) (edited on 2023-05-10 20:07 (UTC) by biergaizi)
This package mingw-w64-vtk 9.2.2-1 is current broken. First, some dependencies are missing, and they need to be installed manually:
Then it also needs this patch: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/9981
Problem 1
vtk's exprtk detection has another bug, it fails to find exprtk even if it has been manually installed:
Apparently, it's caused by a buggy version check in the build system that didn't handle the Knuth versioning "2.718..." in ExprTk.
The upstream patch is: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/9981
For now, to fix the problem, change PKGBUILD to:
Problem 2
Then it cannot find cgns:
So mingw-w64-cgns needs to be installed manually.
Problem 3
Then it cannot find verdict:
So mingw-w64-verdict needs to be installed manually.
biergaizi commented on 2023-05-10 16:45 (UTC)
mingw-w64-cairo also has another massive dependency loop, which can be broken via mingw-w64-cairo-bootstrap.
biergaizi commented on 2023-05-10 16:23 (UTC)
To break mingw-w64-freetype2's circular dependency, first install mingw-w64-freetype2-bootstrap, then install mingw-w64-freetype2.
opens commented on 2017-05-22 18:17 (UTC)