[R-pkg-devel] SystemRequirements & configure check for FFTW with single precision support
Dirk Eddelbuettel
edd @end|ng |rom deb|@n@org
Sat Jan 11 19:52:59 CET 2025
Lukas,
It is, as you noticed, complicated.
One way forward might be to rely on what you can rely on (i.e. a suitable
system fftw on two of the three platforms) and to embed and locally build
where not. Nowadays a number of packages embedding external libraries and
resorting to eg cmake to build locally to provide what their R package needs
(pak now rebuilds curl, igraph 'vendors' a number of external libraries, as
does duckdb and so on), and so on. It is one approach. Others download if
they must (i.e. what I once added to nloptr) but CRAN now leans more against
downloads at build time. [1]
The problem is that SystemRequirements: is all we have to solve a cross-OS,
cross-platform, cross-distro (for Linux), cross-release, ... dependency
issue. Something for which a (commonly) single-line of free form text is not
all that well suited. But anything more formal would be need to reliably
address the cross-product of cpu architecture, operating system,
flavour/distro, release, ... Not easy for (less than) a handful of already
stretched volunteers.
So this is a hard problem; if it could be fixed easily it would have been
addressed in the 25+ plus years of CRAN.
Cheers, Dirk
PS For the smaller subset of three releases for (currently) one architecture,
one platform, and one distribution flavor this has been address using the
existence of system package manager: r2u covers this reliably and gets you
(CRAN) package binaries for Ubuntu with full and complete system dependency
integration, see https://eddelbuettel.github.io/r2u -- but it is hard /
impossible to generalise to other OSs without a similar package manager.
--
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
More information about the R-package-devel
mailing list