Re: [R] Problem with R-2.1.0: install.packages() doesn't work

From: Marc Schwartz <MSchwartz_at_medanalytics.com>
Date: Sat 23 Apr 2005 - 08:33:47 EST

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 Received on Sat Apr 23 08:42:00 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:22 EST