Philippe Grosjean
2008-May-04 09:56 UTC
[Rd] Change in the Tcl/Tk loading in R 2.7.0 (under Unix/Mac OS X)?
Hello,
Up to R 2.6.2, I used to start Tcl *without Tk* (I need only Tcl for
some part of my work, like a socket server written in Tcl only, for
instance) with this code under Mac OS X (particularly on this system,
because I don't want to start X11 just to use Tcl code, which is
required for Tk!):
> Sys.unsetenv("DISPLAY")
> library(tcltk)
I got then the message "no DISPLAY variable so Tk is not available",
but
could work with Tcl without problems.
Now, with R 2.7.0, I got the following and Tcl failed to load:
Loading Tcl/Tk interface ... Error in fun(...) : no display name and no
$DISPLAY environment variable
Error : .onLoad failed in 'loadNamespace' for 'tcltk'
Error: package/namespace load failed for 'tcltk'
I try to locate the message "no display name and no $DISPLAY environment
variable" in the code but I cannot find it. Could someone help me please?
> sessionInfo()
R version 2.7.0 Patched (2008-04-22 r45460)
i386-apple-darwin8.10.1
locale:
en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
Many thanks,
Philippe Grosjean
--
..............................................<?}))><........
) ) ) ) )
( ( ( ( ( Prof. Philippe Grosjean
) ) ) ) )
( ( ( ( ( Numerical Ecology of Aquatic Systems
) ) ) ) ) Mons-Hainaut University, Belgium
( ( ( ( (
..............................................................
Prof Brian Ripley
2008-May-04 10:57 UTC
[Rd] Change in the Tcl/Tk loading in R 2.7.0 (under Unix/Mac OS X)?
First, this does depend on what build of R you use. The 'HAVE_AQUA' define matters, and is only defined on some Mac OS X builds (e.g. not the default one, but the one used for the CRAN binary). Second, there are several possible versions of Tcl/Tk and X11 on MacOS X, and as I suspect one of your R versions was not a CRAN build, I am not willing to make assumptions here. (E.g. I do run a self-compiled command-line version of R using ActiveTcl's 8.5.2 code.) Finally, I see no evidence that this is not specific to Mac OS X, and your desired behaviour is still present on other Unix-alikes. If you want the ability to start Tcl and not Tk on a CRAN build of R for Mac OS X, I think you need to negotiate a way to do it as I believe it is not intended to be available. But that's definitely an R-sig-mac topic. On Sun, 4 May 2008, Philippe Grosjean wrote:> Hello, > > Up to R 2.6.2, I used to start Tcl *without Tk* (I need only Tcl for some > part of my work, like a socket server written in Tcl only, for instance) with > this code under Mac OS X (particularly on this system, because I don't want > to start X11 just to use Tcl code, which is required for Tk!): > >> Sys.unsetenv("DISPLAY") >> library(tcltk) > > I got then the message "no DISPLAY variable so Tk is not available", but > could work with Tcl without problems.That message is only given if (src/library/tcltk/src/tcltk.c in both 2.6.2 and 2.7.0) #if !defined(Win32) && !defined(HAVE_AQUA) so your 2.6.x build appears not to have been defining HAVE_AQUA, which a CRAN build would.> Now, with R 2.7.0, I got the following and Tcl failed to load: > Loading Tcl/Tk interface ... Error in fun(...) : no display name and no > $DISPLAY environment variable > Error : .onLoad failed in 'loadNamespace' for 'tcltk' > Error: package/namespace load failed for 'tcltk' > > I try to locate the message "no display name and no $DISPLAY environment > variable" in the code but I cannot find it. Could someone help me please?I think it is coming from Tk_Init, at code = Tk_Init(RTcl_interp); /* Load Tk into interpreter */ if (code != TCL_OK) error(Tcl_GetStringResult(RTcl_interp));>> sessionInfo() > R version 2.7.0 Patched (2008-04-22 r45460) > i386-apple-darwin8.10.1 > > locale: > en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > Many thanks, > > Philippe Grosjean > -- > ..............................................<?}))><........ > ) ) ) ) ) > ( ( ( ( ( Prof. Philippe Grosjean > ) ) ) ) ) > ( ( ( ( ( Numerical Ecology of Aquatic Systems > ) ) ) ) ) Mons-Hainaut University, Belgium > ( ( ( ( ( > .............................................................. > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595