On Fri, 2005-04-22 at 18:00 -0400, Manuel Morales wrote: > On Fri, 2005-04-22 at 15:42 -0500, Marc Schwartz wrote: > > On Fri, 2005-04-22 at 15:44 -0400, Manuel Morales wrote: > > > On Fri, 2005-04-22 at 17:48 +0200, Uwe Ligges wrote: > > > > Waichler, Scott R wrote: > > > > > > > > > I installed R-2.1.0 from source on a Linux box running Red Hat > > > > > Enterprise Linux WS release 4 but install.packages() wouldn't work > > > > > (see > > > > > below). > > > > > > > >>install.packages("rgenoud") > > > > > > > > > > --- Please select a CRAN mirror for use in this session --- > > > > > Error in inherits(x, "factor") : Object "res" not found > > > > > > > > > > > > Quite probably you have no X11 connection to this machine. > > > > R tries to ask you which CRAN mirror you are going to choose, and it > > > > fails to present the tcltk window. > > > > You might want to call > > > > chooseCRANmirror(graphics=FALSE) > > > > and > > > > setRepositories(graphics=FALSE) > > > > prior to install.packages(). > > > > > > > > Uwe Ligges > > > > > > > > > > I have the same problem after building R-2.1.0 from source on Fedora > > > Core 3. The suggestion above fixes this, but what do you mean by "Quite > > > probably you have no X11 connection on this machine"? I'm guessing you > > > don't mean that X11 is not "running" (I use Gnome for my desktop). > > > > > > Manuel > > > > > > For both Scott and Manuel, > > > > Can you post back with the output of: > > > > > capabilities() > > > > This is what I got: > > capabilities() > jpeg png tcltk X11 http/ftp sockets libxml fifo > TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE > cledit IEEE754 iconv > TRUE TRUE TRUE > > I recompiled after downloading the tc and tk development packages, which > gave tcltk as TRUE. update.packages() works if tcltk is enabled, but it > seems not to revert to the non-graphical interface otherwise...
Ok. So that suggests a problem with capabilities(tcltk) == FALSE, which will be the result of not having the tcl/tk devel RPMS installed. To Peter's prior post, my read of the code for menu() suggests that there is a problem in the conditional code: > menu function (choices, graphics = FALSE, title = "") ... The code check there is: if (graphics) { if (.Platform$OS.type == "windows" || .Platform$GUI == "AQUA") { res <- select.list(choices, multiple = FALSE, title = title) return(match(res, choices, nomatch = 0)) } else if (.Platform$OS.type == "unix" && capabilities("tcltk") && capabilities("X11")) res <- tcltk::tk_select.list(choices, multiple = FALSE, title = title) return(match(res, choices, nomatch = 0)) } If my read is correct, it looks like there might be a missing brace pair for the 'else if' part? Shouldn't that section read: if (graphics) { if (.Platform$OS.type == "windows" || .Platform$GUI == "AQUA") { res <- select.list(choices, multiple = FALSE, title = title) return(match(res, choices, nomatch = 0)) } else if (.Platform$OS.type == "unix" && capabilities("tcltk") && capabilities("X11")) { # <<<<<< NOTE OPEN BRACE HERE >>>>>> res <- tcltk::tk_select.list(choices, multiple = FALSE, title = title) return(match(res, choices, nomatch = 0)) } # <<<<<< NOTE CLOSE BRACE HERE >>>>> } Without the braces, it will get to: return(match(res, choices, nomatch = 0)) whether all of the checks are TRUE or not, the latter being the case at least for Manuel. HTH, Marc Schwartz ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html