[R-pkg-devel] Tcl/Tk version difficulty building loon package on Unix ??
Wayne Oldford
rwo|d|ord @end|ng |rom uw@ter|oo@c@
Tue Jun 10 22:07:47 CEST 2025
Thanks to everyone. I think I have it fixed now …
The (main) problem I was having was related to scoping changes from Tcl/Tk 8.6.x to 9.0.x.
Greater care in explicitly referencing some symbols as global (e.g. $::tcl_platform as opposed to $tcl_platform) in my Tcl/Tk code now seems to have successfully addressed the issue.
Information from each of Duncan Murdoch, Ivan Krylov, and Brian Ripley proved to be invaluable.
Much appreciated
Wayne
From: Dirk Eddelbuettel <edd using debian.org>
Date: Monday, June 9, 2025 at 8:09 AM
To: Duncan Murdoch <murdoch.duncan using gmail.com>
Cc: Wayne Oldford <rwoldford using uwaterloo.ca>, R-package-devel using r-project.org <R-package-devel using r-project.org>
Subject: Re: [R-pkg-devel] Tcl/Tk version difficulty building loon package on Unix ??
On 9 June 2025 at 07:40, Duncan Murdoch wrote:
| I've had some private messages with Wayne; here's some info and a
| question in case someone else wants to follow this up:
|
| - I can install his new version of loon on Ubuntu without a problem,
| but my R build uses tcl/tk 8.6.
R 'records' its tcl/tk version chosen via 'configure' when building. To
differentiate between 8.6 and 9.0 here Wayne and/or you likely need to
rebuild R. For what it is worth, my sources for the Debian packaging are
still at 8.6 (explicitly selecting it) and hence are the Ubuntu binaries at
CRAN. Debian does have tcl8.6-dev along with tcl9.0-dev.
| - I haven't built tcl/tk 9.0.1, and like Wayne, would like to avoid
| that. Is there a Github action that would install it?
I would recommend a container, and starting from one of the standard 'how to
build R setups'. A possible one is my 'daily R patched' (drp) one at
https://github.com/rocker-org/drp
which builds weekly. You would just have to change tcl (and presumably tk) to
9.0 in the Dockerfile at
https://github.com/rocker-org/drp/blob/master/Dockerfile
in line 57 and 64 replacing, respectively, tcl-dev with tcl9.0-dev and tk-dev
with tk9.0-dev. [ Debian tends to change such common infrastructure packages
in a coordinated wave (called 'transition'), and we have not had one yet for
tcl/tk 9.0. ]
Rebuilding the container (which one can do in an action) will get you
r-patched with the 9.0 versions of tck and tk which should allow some client
testing (in 'loon') to accommodate accordingly (which another action can
call). Of course just doing it locally also works and is easier. While at it,
it would be nice if the package could (just like 'rgl' does) work around a
missing x11 at package install, currently headless setups need to explicitly
wrap this in xvfb.
Hope this helps. Feel free to ping me off-list if the Docker use is unclear
yet is something you want to try.
Best, Dirk
--
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
[[alternative HTML version deleted]]
More information about the R-package-devel
mailing list