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.
Well, I do not use .onLoad but just the
useDynLib(packagename)
directive in the NAESPACE file.
Much simpler like that and I can remove the zzz.R file with .onLoad ...
Thanks again
Is useDynLib enough for package with compiled code?
Best,
Uwe Ligges
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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel