[Rd] question re: error message --- package error: "functionName" not resolved from current namespace
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Apr 10 21:53:59 CEST 2013
On 10/04/2013 2:25 PM, brian avants wrote:
> hi simon
>
> thank you for your questions ---- answers here:
>
> I won't answer your question directly but some suggestions:
> > a) does adding PACKAGE="ANTsR" to .Call change anything? (It should really
> > be there if you are using strings as names)
> >
>
> this does change things .... for instance, this works:
>
> library(ANTsR)
> filename<-getANTsRData('r16')
> .Call("antsImageRead", filename,'double',2) # Succeeds!
> .Call("antsImageRead", filename,'double',2,PACKAGE=ANTsR) # Fails!
> # Error in .Call("antsImageRead", filename, "double", 2, PACKAGE = "ANTsR")
> :
> # "antsImageRead" not available for .Call() for package "ANTsR"
That makes it look as though it is finding that entry point somewhere
other than in the ANTsR.{so|dll} file installed with the package.
>
> the problem is when we call this function:
>
> antsImageRead <- function( filename , dimension , pixeltype = "float" )
> {
> rval <- (.Call("antsImageRead", filename, pixeltype, dimension))
> return(rval)
> }
That's the one where you should be using the PACKAGE declaration.
>
> the we get the error antsImageRead not resolved from current namespace ,
> e.g.:
>
> > antsImageRead(filename,2)
> Error in .Call("antsImageRead", filename, pixeltype, dimension) :
> "antsImageRead" not resolved from current namespace (ANTsR)
> >
>
>
> b) you may want to consider use the more efficient registration - either
> > explicit or in NAMESPACE - so in your case you could use
> > NAMESPACE: useDynLib(ANTsR, antsImageRead, ...)
> > foo.R: .Call(antsImageRead, ...)
> >
>
> yes - we have all of our shared libraries registered in the NAMESPACE file
> e.g.
>
> useDynLib(libRantsImageRead)
But this doesn't register the entry point. List it explicitly, and it
will create an object called antsImageRead in the package namespace that
has entry point information.
Duncan Murdoch
>
> etcetera ....
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list