Skip to content

Did rlang become 'required' ? #601

@eddelbuettel

Description

@eddelbuettel

I noticed in a container that duckdb and DBI alone lead to an error -- rlang is missing.

On my normal machine, loading duckdb also loads rlang. But rlang is only a 'Suggests:' for both duckdb and DBI.

$ R

R version 4.4.2 (2024-10-31) -- "Pile of Leaves"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> packageVersion("duckdb")
[1] ‘1.1.3’
> library(duckdb)
Loading required package: DBI
Loading required namespace: rlang
> 

If rlang gets autoloaded, and if it leads to a failure of instantiation when not present this appears to be more than a Suggests. Currently it is only a Suggests meaning the generated binary package does not depend on it, and the load fails:

$ docker run --rm -ti rocker/r2u:24.04 bash
root@1c98fa4ef0c8:/# Rscript -e 'install.packages("duckdb")' 2>&1 >/dev/null    # only co-installs DBI
root@1c98fa4ef0c8:/# R -q
> library(duckdb)
Loading required package: DBI
Loading required namespace: rlang
Failed with error:  ‘there is no package called ‘rlang’’
> 

PS Once one co-installs rlang all is well but then it should probably be at an Imports: level. A demo is here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions