Roebuck,Paul L
2012-Apr-12 18:41 UTC
[Rd] R-2.15.0 and Exporting Methods Converted To S4 Generic
Late to the show on this release, unfortunately. One of our production packages no longer builds under R-2.15.0 with the following message. ** testing if installed package can be loaded Error: Function found when exporting methods from the namespace 'SuperCurve' which is not S4 generic: 'image' Possibly relevant clues follow: ## From R/AllGenerics.R if (!isGeneric("image")) { setGeneric("image", function(x, ...) standardGeneric("image")) } We have done the same for many S3 generics, converting them to S4 and adding specific method-combinations as such... ## From various other R files... setMethod("image", signature(x="RPPA"), ... setMethod("image", signature(x="RPPADesign"), ... And then exported them for use outside the package. ## NAMESPACE import(methods) importFrom("graphics", image) exportClasses(....) exportMethods(image) If the problem is because of the exportMethods(), I'm left stumped as to how to work around this. Making our S4 objects useable externally was kind of the point. Source package available, if needed. oompa <- "http://bioinformatics.mdanderson.org/OOMPA/2.14" download.packages("SuperCurve", destdir=".", repos=oompa, type="source")
Uwe Ligges
2012-Apr-13 08:40 UTC
[Rd] R-2.15.0 and Exporting Methods Converted To S4 Generic
You have to export the new generic as well. Uwe Ligges On 12.04.2012 20:41, Roebuck,Paul L wrote:> Late to the show on this release, unfortunately. > One of our production packages no longer builds under R-2.15.0 > with the following message. > > ** testing if installed package can be loaded > Error: Function found when exporting methods from the namespace > 'SuperCurve' which is not S4 generic: 'image' > > > Possibly relevant clues follow: > > ## From R/AllGenerics.R > if (!isGeneric("image")) { > setGeneric("image", > function(x, ...) standardGeneric("image")) > } > > We have done the same for many S3 generics, converting them > to S4 and adding specific method-combinations as such... > > ## From various other R files... > setMethod("image", signature(x="RPPA"), ... > setMethod("image", signature(x="RPPADesign"), ... > > And then exported them for use outside the package. > > ## NAMESPACE > import(methods) > importFrom("graphics", image) > > exportClasses(....) > exportMethods(image) > > > If the problem is because of the exportMethods(), I'm left > stumped as to how to work around this. Making our S4 objects > useable externally was kind of the point. > > > Source package available, if needed. > > oompa<- "http://bioinformatics.mdanderson.org/OOMPA/2.14" > download.packages("SuperCurve", destdir=".", repos=oompa, type="source") > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel