The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
configure.win
rewritten). The package now searches for a system VTK installation on
Windows before falling back to the pre-built libraries. Detection order:
VTK_DIR environment variable.pacman (queries installed packages; never
installs automatically)./x86_64-w64-mingw32.static.posix, /ucrt64,
/mingw64, …)..a) and shared (.dll.a import
libs + DLLs) system installations are accepted.configure.win, tools/winlibs.R,
R/vtk.R, R/zzz.R). Windows now fully supports
shared VTK libraries:
.dll.a import libs are accepted and used directly.vtk-X.Y.Z-shared-posix-x64.zip) is available as an
alternative to the existing static build. Select it by setting
VTK_LINK_TYPE=shared before installing
rvtk (default is static).inst/vtk-dlls/. An
.onLoad hook prepends that directory to PATH
via Sys.setenv() when rvtk is loaded, making the DLLs
visible to all downstream packages that declare
Imports: rvtk without any manual PATH manipulation. The
original PATH is restored in .onUnload().
Downstream packages do not receive a copy of the DLLs —
they piggyback on rvtk’s staged directory at run time.build-vtk-libs.yml: new
build-windows-shared CI job produces
vtk-X.Y.Z-shared-posix-x64.zip alongside the existing
static archive.R CMD build (configure,
R/vtk.R, cleanup). The pre-built archive is
now extracted to inst/prebuilt/ so that headers and static
libraries ship inside the installed package.
read_vtk_conf() resolves the actual paths at run time via
system.file("prebuilt", package = "rvtk"), mirroring the
Windows approach and surviving R CMD build temp-dir
cycles.lib_root from
tools/winlibs.R (assigned but never read).all_libs_full from the Windows
static branch of read_vtk_conf() in R/vtk.R
(assigned but never read; lib_flags is built entirely from
-l short names)..github/workflows/downstream-check.yaml) builds and checks
a minimal downstream package against rvtk across all supported platform
× VTK-strategy combinations (system, pre-built static, pre-built
shared).Re-submission addressing CRAN reviewer feedback on v0.1.1.
'VTK',
'Homebrew', 'pkg-config',
'Rtools45') are now consistently quoted with single quotes
in the Title, Description, and SystemRequirements fields, per CRAN
policy. Function calls such as rvtk::CppFlags() are no
longer wrapped in single quotes.CppFlags(), LdFlags(),
LdFlagsFile(): Replaced cat() with
writeLines() and added invisible() returns so
functions behave in a more idiomatic R style while still allowing shell
command-substitution capture.tools/winlibs.R: The Windows VTK zip
is now extracted to a temporary directory (tempfile())
before being copied into inst/windows/. This avoids writing
intermediate files to the package source tree (home filespace) during
installation.@examples entries. LdFlagsFile()
writes to tempdir() in its example.LdFlagsFile() response-file path,
read_vtk_conf() Windows resolver) are exercised by the
existing R-hub Windows CI jobs.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:
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.
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().
LdFlagsFile(path): writes
VTK linker flags to a response file and returns @path for
use in Makevars. Preferred over LdFlags() on
all platforms to avoid the Windows command-line length limit.x86_64-w64-mingw32.static.posix toolchain (Rtools45),
matching the toolchain used by R CMD INSTALL for CRAN
packages.PKG_LIBS reduced
to -lgdi32 only; the UCRT64-specific
-lwinpthread -lmingwex -lucrtbase flags are no longer
needed because the static.posix sysroot resolves POSIX symbols
internally.LdFlagsFile(), explain the
rationale, provide a unified configure example valid on all
platforms, and correct the Windows toolchain description..a) for
Windows (Rtools45 UCRT x64), macOS arm64, macOS x86_64, and Linux
x86_64, distributed via GitHub Releases and built with GitHub
Actions.VTK_DIR environment variable.pkg-config./usr,
/usr/local) (Linux only).netcdf and
libproj are not available in the Rtools45 UCRT64
environment. The following VTK modules are therefore disabled in the
Windows pre-built libraries: VTK_IONetCDF,
VTK_IOHDF, VTK_GeovisCore,
VTK_RenderingCore. Downstream packages requiring these
modules cannot be built on Windows with rvtk’s
pre-built libraries.rvtk::CppFlags() and rvtk::LdFlags().These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.