[R-pkg-devel] no visible global function definition for ‘par’

Kevin Ushey kevinushey at gmail.com
Mon Jan 30 18:58:05 CET 2017


Most importantly, this _is_ a recent-ish change in R CMD check. Previously,
R CMD check did not warn about missing imports from 'base' R packages (that
is, R packages distributed with R, having priority 'base'); now it
correctly does. While packages with priority 'base' are loaded by default
in most R installations, it's possible for the user to customize that
behavior, and so packages that don't import the functions they use from
these packages will break if they are detached (or their order on the
search path is changed).

The correct thing to do is indeed import any functions from any R packages
you use, base or otherwise. The simplest fix, if you don't want to
selectively import such a large range of functions, is to simply add e.g.

    import(utils)
    import(stats)
    ... etc ...

to your NAMESPACE file.

Best,
Kevin

On Mon, Jan 30, 2017 at 9:21 AM, Brian G. Peterson <brian at braverock.com>
wrote:

> See the link in my email below.  It says:
> "Packages implicitly import the base namespace. Variables exported from
> other packages with namespaces need to be imported explicitly using the
> directives import and importFrom."
>
> Regards,
>
> Brian
>
> On Mon, 2017-01-30 at 11:04 -0600, Cathy Lee Gierke wrote:
> > That is the obvious solution, but it doesn't seem correct:  I have
> > pdf included in the description, and namespace files, yet it is being
> > called out.  Additionally, aren't most of these pkgs in the packages
> > included by default?
> >
> > And up until yesterday, I didn't have any of these problems.  I've
> > been compiling and running this for several years.  But now I want to
> > release to CRAN, so I've been fixing minor issues....and suddenly
> > this mass of Notes.
> >
> > Thank you,
> >
> > Cathy Lee Gierke
> >
> > “Darkness cannot drive out darkness: only light can do that. Hate
> > cannot drive out hate: only love can do that.”
> >
> > “The arc of the moral universe is long, but it bends towards
> > justice.”
> > “Nothing in the world is more dangerous than sincere ignorance and
> > conscientious stupidity.”
> > “Never forget that everything Hitler did in Germany was legal.”
> > “Forgiveness is not an occasional act, it is a constant attitude.”
> > “Injustice anywhere is a threat to justice everywhere.”
> >
> > ― Martin Luther King Jr.
> >
> >
> > On Mon, Jan 30, 2017 at 10:52 AM, Brian G. Peterson <brian at braverock.
> > com> wrote:
> > > The error you reference below is pretty clear, I think.
> > >
> > > You need to add imports for all the functions you're using from
> > > other packages.
> > >
> > > See: https://cran.r-project.org/doc/manuals/r-release/R-exts.html#S
> > > pecifying-imports-and-exports
> > >
> > > Regards,
> > >
> > > Brian
> > >
> > >
> > > --
> > > Brian G. Peterson
> > > http://braverock.com/brian/
> > > Ph: 773-459-4973
> > > IM: bgpbraverock
> > >
> > > On Mon, 2017-01-30 at 10:39 -0600, Cathy Lee Gierke wrote:
> > > > Yes, that seemed to get rid of the NOTE....but it doesn't seem to
> > > > make much difference other than that.  i.e., it seems to process
> > > > the same using CATkit vs CATkit_2.06.tar.gz!
> > > >
> > > > Here is the main error that I am getting.  I just upgraded to the
> > > > latest R version, fyi.
> > > >
> > > > Everything was fine, a few minor warnings...now this.
> > > > Description and namespace are proper.  These pkgs should all be
> > > > part of the R base, aren't they? Anyone know why I should get
> > > > these errors?  Thanks!
> > > >
> > > > * checking R code for possible problems ... NOTE
> > > > Actogram: no visible global function definition for ‘par’
> > > > Actogram: no visible global function definition for ‘barplot’
> > > > Actogram: no visible global function definition for ‘box’
> > > > Actogram: no visible global function definition for ‘text’
> > > > Actogram: no visible global function definition for ‘mtext’
> > > > Actogram: no visible binding for global variable ‘end’
> > > > AutoCorr: no visible global function definition for ‘par’
> > > > AutoCorr: no visible global function definition for ‘layout’
> > > > AutoCorr: no visible global function definition for ‘acf’
> > > > AutoCorr: no visible global function definition for ‘abline’
> > > > AutoCorr: no visible global function definition for ‘title’
> > > > AutoCorr: no visible global function definition for ‘mtext’
> > > > AutoCorr: no visible global function definition for ‘var’
> > > > AutoCorr: no visible binding for global variable ‘end’
> > > > CATCosinor: no visible global function definition for ‘par’
> > > > CATCosinor: no visible global function definition for ‘pdf’
> > > > CATCosinor: no visible global function definition for ‘jpeg’
> > > > CATCosinor: no visible global function definition for ‘png’
> > > > CATCosinor: no visible global function definition for ‘tiff’
> > > > ......... A zillion more for every function I have......
> > > > periCosinor: no visible global function definition for ‘par’
> > > > periCosinor: no visible global function definition for ‘fft’
> > > > Undefined global functions or variables:
> > > >   TukeyHSD abline acf aov as.raster axis barplot box boxplot ccf
> > > >   coefficients dev.cur dev.off drop1 end fft gray heat.colors
> > > > image
> > > >   jpeg layout legend lines median model.tables mtext na.action
> > > > na.omit
> > > >   palette par pdf pf plot plot.new png points rainbow rasterImage
> > > >   read.table str strwidth tail terrain.colors text tiff title ts
> > > > var
> > > >   write.table
> > > > Consider adding
> > > >   importFrom("grDevices", "as.raster", "dev.cur", "dev.off",
> > > > "gray",
> > > >              "heat.colors", "jpeg", "palette", "pdf", "png",
> > > > "rainbow",
> > > >              "terrain.colors", "tiff")
> > > >   importFrom("graphics", "abline", "axis", "barplot", "box",
> > > > "boxplot",
> > > >              "image", "layout", "legend", "lines", "mtext",
> > > > "par",
> > > >              "plot", "plot.new", "points", "rasterImage",
> > > > "strwidth",
> > > >              "text", "title")
> > > >   importFrom("stats", "TukeyHSD", "acf", "aov", "ccf",
> > > > "coefficients",
> > > >              "drop1", "end", "fft", "median", "model.tables",
> > > >              "na.action", "na.omit", "pf", "ts", "var")
> > > >   importFrom("utils", "read.table", "str", "tail", "write.table")
> > > > to your NAMESPACE file.
> > > >
> > > >
> > > > Cathy Lee Gierke
> > > >
> > > > “Darkness cannot drive out darkness: only light can do that. Hate
> > > > cannot drive out hate: only love can do that.”
> > > >
> > > > “The arc of the moral universe is long, but it bends towards
> > > > justice.”
> > > > “Nothing in the world is more dangerous than sincere ignorance
> > > > and conscientious stupidity.”
> > > > “Never forget that everything Hitler did in Germany was legal.”
> > > >
> > > > “Forgiveness is not an occasional act, it is a constant
> > > > attitude.”
> > > > “Injustice anywhere is a threat to justice everywhere.”
> > > >
> > > > ― Martin Luther King Jr.
> > > >
> > > >
> > > > On Mon, Jan 30, 2017 at 10:05 AM, Brian G. Peterson <brian at braver
> > > > ock.com> wrote:
> > > > > On Mon, 2017-01-30 at 09:45 -0600, Cathy Lee Gierke wrote:
> > > > > >  building ‘CATkit_2.06.tar.gz’
> > > > >
> > > > > R CMD build creates a tarball
> > > > >
> > > > > > x-134-84-0-217:CATkit user$ *R CMD check CATkit*
> > > > >
> > > > > but you are checknig the directory, not the tarball.
> > > > >
> > > > > do
> > > > >
> > > > > R CMD check CATkit_2.06.tar.gz
> > > > >
> > > > > instead.
> > > > >
> > > > > Regards,
> > > > >
> > > > > Brian
> > > > >
>
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list