[R-pkg-devel] Namespace problem with pre-R 3.0.0 package

Martyn Plummer plummerm at iarc.fr
Thu Mar 3 16:08:10 CET 2016


On Thu, 2016-03-03 at 15:45 +0100, Sebastien Moretti wrote:
> I have just found that R 2 filled by itself the NAMESPACE file with
> # Export all names
> exportPattern(".")
> 
> # Import all packages listed as Imports or Depends
> import(
>    cluster
> )
> 
> 
> So I filled the NAMESPACE file with that and gave it to R 3
> Now functions are found!
> 
> 
> Is it enough to do that?

Yes. Even in the latest version of R, "R CMD build" will create a
default NAMESPACE file like that for you if one does not exist.
 
> Is it good practice to do that?

No. The Writing R Extensions manual says "such broad patterns are not
recommended for production code: it is better to list all exports or
use narrowly-defined groups"

> is .onLoad ... still required?

Yes, if your package has compiled code (e.g. C, C++, Fortran) then the
.onLoad function is required to load it into R.

Martyn
 
> Regards
> 
> > Hi
> > 
> > I have issues with an R package developed in 2004.
> > It works perfectly in R < 3.
> > It can be installed in R > 3 but functions are not available.
> > 
> > Documentation I found is not really helpful for me who are not an R
> > master.
> > I have already fixed some problems with R CMD check but remaining
> > ones
> > are less trivial.
> > 
> > 
> > For what I understand - with R < 3 - everything is loaded with this
> > command in an R file in the R/ directory:
> > .First.lib <- function(lib, pkg) library.dynam("jacop", pkg, lib);
> > require("cluster")
> > 
> > Now I replaced that with
> > .onLoad <- function(lib, pkg) {library.dynam("jacop", pkg, lib);
> > require("cluster")}
> > but functions are not found when called.
> > 
> > NAMESPACE exists but is empty.
> > 
> > 
> > Any idea how to solve that?
> > 
> > 
> > Regards
> > 
> > --
> > Sébastien Moretti
> 
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel-----------------------------------------------------------------------
This message and its attachments are strictly confidenti...{{dropped:8}}



More information about the R-package-devel mailing list