dcomtois / summarytools

R Package to Quickly and Neatly Summarize Data
522 stars 78 forks source link

Dependency on TCL/Tk breaks Docker/headless mode #189

Open larsvilhuber opened 1 year ago

larsvilhuber commented 1 year ago

When installing (here using renv()) summarytools, or later when running, it fails with a dependency on Tcl/Tk. This is a problem for automated/headless execution of R code.

System:

rocker/verse:4.0.2 (also verified with rocker/verse:4.3.2)

Error msg:

Error: .onLoad failed in loadNamespace() for 'tcltk', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/local/lib/R/library/tcltk/libs/tcltk.so':
  libtcl8.6.so: cannot open shared object file: No such file or directory
Execution halted
ERROR: lazy loading failed for package ‘summarytools’

Solution

Build derivative Docker image adding these libraries in.

Long-term Solution A

Make use of interactive graphical tools optional (on Linux), make it into a warning rather than an error.

Long-term Solution B

Explicitly list Tcl/Tk as a dependency. Note: This is also not listed as a software dependency at PPM.