summarytools icon indicating copy to clipboard operation
summarytools copied to clipboard

Dependency on TCL/Tk breaks Docker/headless mode

Open larsvilhuber opened this issue 2 years ago • 0 comments

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.

larsvilhuber avatar Oct 16 '23 13:10 larsvilhuber