From jmc at research.bell-labs.com  Tue Sep 16 16:27:36 2003
From: jmc at research.bell-labs.com (John Chambers)
Date: Tue Sep 16 21:27:56 2003
Subject: [Rd] couldn't find function "setClass"
References: <Pine.LNX.4.44.0309162018500.2134-100000@gannet.stats>
Message-ID: <3F676428.89D40FBB@research.bell-labs.com>

Prof Brian Ripley wrote:
> 
> On Tue, 16 Sep 2003, John Chambers wrote:
> 
> > Jeff Gentry wrote:
> > >
> > > Hello ...
> > >
> > > With a new checkout of R-devel (last update was 2003-09-11) we are having
> > > a problem (it seems to be happening to all of us here on a few different
> > > machines) where during install/check/etc when the 'save image' happens (in
> > > packages using 'save image'):
> > >
> > > ** save image
> > > Error: couldn't find function "setClass"
> > > Execution halted
> > >
> > > This is for all packages that are using classes.
> > >
> > > Is anyone else having this problem?
> >
> > With packages that do NOT have a namespace but DO have saved images,
> > yes. (!)
> >
> > The problem seems to be that the current version of INSTALL doesn't end
> > up with library(methods) in this branch (related to --vanilla ?).  One
> 
> It's not related to --vanilla, which does not change the packages loaded.
> See Kurt's comment for what I believe is the true reason.
> 
> > workaround seem to be to change INSTALL (or scripts/INSTALL.in) as
> > follows:
> >
> > 522c522
> > <       code_cmd="eval cat \"${code_file}\""
> > ---
> > >       code_cmd="eval echo \"library(methods)\"; cat \"${code_file}\""
> >
> > to explicitly attach the library.  This may in fact be the right fix,
> > but I'm confused as to why this is happening now.
> 
> I don't think so: methods is currently optional and Doug's fix seems to be
> to be the right one.

That (apparently) the problem arises in such a special situation is
confusing  for users.  At least for me, it's ONLY in the combination of
saved image and no namespace.

That the user does not need a require(methods) when testing the code
directly but does (sometimes) when the source code is in package source
is not a feature.  If we can avoid this complexity, that would encourage
package developers.

John

> 
> --
> Brian D. Ripley,                  ripley@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
> 
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel

-- 
John M. Chambers                  jmc@bell-labs.com
Bell Labs, Lucent Technologies    office: (908)582-2681
700 Mountain Avenue, Room 2C-282  fax:    (908)582-3340
Murray Hill, NJ  07974            web: http://www.cs.bell-labs.com/~jmc


[Rd] couldn't find function "setClass"
John Chambers