Skip to contents

check_mdrb() returns a boolean indicating whether a suitable version of the metabodecon Rust backend mdrb is currently installed.

check_mdrb_deps() returns a list with information about the installation status of mdrb system dependencies.

Usage

check_mdrb(stop_on_fail = FALSE)

check_mdrb_deps(verbose = FALSE)

Arguments

stop_on_fail

If TRUE, an error is thrown if the check fails, providing instructions on how to install or upgrade mdrb.

verbose

If TRUE, additional information is printed during the check process.

Value

check_mdrb() returns TRUE if a suitable version of mdrb is installed, else FALSE.

check_mdrb_deps() returns a data.frame as follows:

            check           passed  comment
    r       R >= 4.2        TRUE    Current: R 4.4.2
    rtools  Rtools exist    TRUE    Tested with: pkgbuild::has_build_tools()
    cargo   cargo >= 1.80   TRUE    Current: cargo 1.84.1 (66221abde 2024-11-19)
    rustc   rustc >= 1.80   TRUE    Current: rustc 1.84.1 (e71f9a9a9 2025-01-27)

Column check is a string describing the performed check.
Column passed is a boolean indicating whether the check passed.
Column comment is a string string describing the check result.

The rownames of the dataframe one-word descriptions of the performed checks.

Author

2024-2025 Tobias Schmidt: initial version.

Examples

check_mdrb()
#> [1] TRUE
check_mdrb_deps(verbose = TRUE)
#> 2025-05-07 12:14:37.33 Checking R version...
#> 2025-05-07 12:14:37.33 Checking if buildtools exist...
#> Trying to compile a simple C file
#> Running /opt/R/4.5.0/lib/R/bin/R CMD SHLIB foo.c
#> using C compiler: ‘gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0’
#> gcc -std=gnu2x -I"/opt/R/4.5.0/lib/R/include" -DNDEBUG   -I/usr/local/include    -fpic  -g -O2  -c foo.c -o foo.o
#> gcc -std=gnu2x -shared -L/opt/R/4.5.0/lib/R/lib -L/usr/local/lib -o foo.so foo.o -L/opt/R/4.5.0/lib/R/lib -lR
#> 
#> 2025-05-07 12:14:37.51 Checking cargo version...
#> 2025-05-07 12:14:40.35 Checking rustc version...
#> 2025-05-07 12:14:44.32 Done
#>                check passed                                      comment
#> r           R >= 4.2   TRUE                             Current: R 4.5.0
#> rtools  Rtools exist   TRUE        Testcall: pkgbuild::has_build_tools()
#> cargo  cargo >= 1.80   TRUE Current: cargo 1.86.0 (adf9b6ad1 2025-02-28)
#> rustc  rustc >= 1.80   TRUE Current: rustc 1.86.0 (05f9846f8 2025-03-31)