Skip to content

S4 changes - sp fails

7 messages · Brian Ripley, Roger Bivand, John Chambers

#
Roger,

I had managed to run R CMD check on sp successfully on r39021 and r39043 
(current) in my nightly checks.  (There are a couple of tests where the 
show/print method is not being invoked, but that is not new.)

All I can suggest is to install R from scratch (make distclean), and then 
reinstall all relevant packages.  At a guess, your interactive use and R 
CMD check are picking up different libraries.

There are around a dozen S4-using packages on CRAN that are currently 
failing their checks: some look like newly-discovered bugs but some look 
like problems in S4 dispatch (even of S3 dispatch for S3 generics turned 
into S4 generics).  More are producing apparently incorrect warnings.

Brian
On Thu, 31 Aug 2006, Roger Bivand wrote:

            

  
    
#
On Fri, 1 Sep 2006, Prof Brian Ripley wrote:

            
Brian,

I added .libPaths() and sessionInfo() to the offending example, and tried
with a fresh svn checkout built in a fresh directory and installed in a
fresh directory (no sp or methods in /home/rsb/topics/r_libs, which was
set with export R_LIBS=):
[1] "/home/rsb/topics/packages/sp-bundle/sp.Rcheck"
[2] "/home/rsb/topics/r_libs"                      
[3] "/home/rsb/topics/Rtobe240/lib/R/library"
R version 2.4.0 Under development (unstable) (2006-08-31 r39045) 
i686-pc-linux-gnu 

locale:
LC_CTYPE=en_GB;LC_NUMERIC=C;LC_TIME=en_GB;LC_COLLATE=en_GB;LC_MONETARY=en_GB;LC_
MESSAGES=en_GB;LC_PAPER=en_GB;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREME
NT=en_GB;LC_IDENTIFICATION=C

attached base packages:
[1] "methods"   "stats"     "graphics"  "grDevices" "utils"     "datasets" 
[7] "base"     

other attached packages:
      sp 
"0.8-19"
Error in function (classes, fdef, mtable)  : 
        unable to find an inherited method for function "initialize", for 
signature "integer"
Execution halted

I also tried to replicate the problem by making a new, very small, package 
with just the apparently offending files:

spS4:
DESCRIPTION  man/  NAMESPACE  R/

spS4/man:
char2dms.Rd  DMS-class.Rd

spS4/R:
AAA.R  dms.R

and edited DESCRIPTION, NAMESPACE, and AAA.R to suit. In this setting 
there was no problem. I'll carry on looking. None of these files has 
changed between released 0.8-18 and CVS 0.8-19. 

Roger

  
    
#
Since writing that, I have found that there is a similar problem with 
testing mvoutliers (which does load sp), and it depends on exactly what 
has been done in what order.  (I'll forward to you the exact description.)

I now suspect there is a protection problem in the new S4 dispatch code.
Using gctorture/valgrind may help locate it.

Brian
On Fri, 1 Sep 2006, Roger Bivand wrote:

            

  
    
#
On Fri, 1 Sep 2006, Prof Brian Ripley wrote:

            
Thanks.

I reran the interactive test:

library(sp, lib.loc="sp.Rcheck")
example("DMS-class")

which ran without problems.
[1] "/home/rsb/topics/r_libs"                
[2] "/home/rsb/topics/Rtobe240/lib/R/library"
[1] "abind"        "maptools"     "pixmap"       "RColorBrewer" "R.css"       
[6] "rgdal"        "SparseM"      "spdep"        "tripack"
R version 2.4.0 Under development (unstable) (2006-08-31 r39045) 
i686-pc-linux-gnu 

locale:
LC_CTYPE=en_GB;LC_NUMERIC=C;LC_TIME=en_GB;LC_COLLATE=en_GB;LC_MONETARY=en_GB;LC_
MESSAGES=en_GB;LC_PAPER=en_GB;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREME
NT=en_GB;LC_IDENTIFICATION=C

attached base packages:
[1] "methods"   "stats"     "graphics"  "grDevices" "utils"     "datasets" 
[7] "base"     

other attached packages:
      sp 
"0.8-19"
Running check --use-gct sp now.

Roger

  
    
#
On Fri, 1 Sep 2006, Roger Bivand wrote:

            
On a different RHEL 4 i386 with R version 2.4.0 (2006-09-01 r39049), and 
fully updated sp CVS from 

cvs -z3 -d:pserver:anonymous at r-spatial.cvs.sourceforge.net:/cvsroot/r-spatial checkout sp

CND check sp passes with no error (with RColorBrewer the only installed 
package in a test library).

I'll try again on the first machine (which is also RHEL 4 i386, but where 
R was at 2006-08-31 r39045, and where there may have been configuration 
issues (wrong library path?).

Roger

  
    
2 days later
#
On Fri, 1 Sep 2006, John Chambers wrote:

            
with problems reported earlier, no failure. With 39062 on my usual login
but after a thorough make distclean and control over errant R_LIBS, no
failure. This morning with make distclean and updates to methods - svn
39076, no failure. So I think the failures were probably provoked by stale
software components as Brian Ripley suggested, rather than by unresolved
methods package issues as such. Happily, rgdal (depends on sp) also
passed check at R 39076.

Roger