rvtk 0.1.3

New features

Bug fixes

Internal

rvtk 0.1.2

Re-submission addressing CRAN reviewer feedback on v0.1.1.

Changes

rvtk 0.1.1

The planned CRAN submission of v0.1.0 was cancelled after downstream package developers reported linker errors when building against the pre-built Windows VTK libraries. Two root causes were identified and fixed:

  1. Wrong toolchain. The Windows VTK zip was compiled with the Rtools45 UCRT64 toolchain (/ucrt64/bin/gcc), which uses a dynamic C runtime and emits DLL-import symbols (__imp_fseeko64, __imp_ftello64, …). However, R CMD INSTALL links R packages with the x86_64-w64-mingw32.static.posix toolchain, which is fully static. The mismatch caused undefined references to nanosleep64, ftime64, __imp_fseeko64, and __imp_ftello64. The GitHub Actions workflow now builds the Windows VTK zip with the x86_64-w64-mingw32.static.posix compiler, matching the toolchain that downstream packages use.

  2. Command-line length overflow. The full set of VTK -l linker flags exceeds the 8 191-character Windows command-line limit, causing the linker to silently drop flags at the end of the list. A new function LdFlagsFile(path) writes all flags to a response file and returns the short @path token that both GNU ld and LLVM lld support. Downstream packages should call LdFlagsFile('src/vtk_libs.rsp') from their configure / configure.win script instead of LdFlags().

Changes

rvtk 0.1.0