R Package Compiled Code Library Dependencies (on Unix-alikes)
R Package Compiled Code Library Dependencies (on Unix-alikes)
List some system level information about the compiled code library, typically its dependencies, for packages with compiled code; for Unix-alikes or more generally when cmd is installed locally.
pkg: character vector of package names of installed packages.
cmd: a character string with the name of an OS / system level program (to be called via system(cmd, ..)) which gives information about the shared library (of compiled code), also known as DLL (dynamically loadable library) or so ((dynamic) shared object) library. The default, "ldd" is a standard binary utility on Unix-alike platforms such as Linux. On macOS, "oTool -L" is used by default.
Details
Note that there seems some language confusion as DLL on Windows is also used for Dynamic-link Library and Wikipedia warns about confusing the two concepts (dynamically loaded .. vs dynamic-link .. ).
Returns
a named list with one entry per package in pkg, the names being the directory / folder names of the corresponding pkgs from pkg.
The exact structure of such entries is currently subject to change and you should not rely on its exact format for now.
# for the example only using standard R packages :myPkgs <- c("stats","MASS","rpart","Matrix")pl <- pkgLibs(myPkgs)pl
stopifnot(exprs ={ is.list(pl) length(pl)== length(myPkgs) is.character(pkgD <- names(pl))})## Have seen this failing when a strange development version of "Matrix" was picked up:try( stopifnot( dir.exists(pkgD)))