R package dependencies
Asked Answered
A

1

13

i'm trying to build a R package, but it seems that there are some problems with the package dependencies. If I run the code in R, I need the packages "rgdal" and "rgeos", so for creatng the package out of it, I:

  • Added the line "import(rgdal, rgeos)" to the NAMESPACE file
  • Added the line "Depends: rgeos, rgdal" to the DESCRIPTION file

When I run R CMD check (after build) I got an error which says:

* checking package dependencies ... ERROR
Benötigte, aber nicht verfügbare Pakete:
  'rgeos' 'rgdal'

See the information on DESCRIPTION files in the chapter 'Creating R
packages' of the 'Writing R Extensions' manual.

German part of the error: "Benötigte, aber nicht verfügbare Pakete:" = "Needed, but not available packages".

I've read the mentioned manual and know about the options of using imports, suggestes or enhances but i'm pretty sure that depends is the option i've to use, because in the functions of my code, i'm using external functions of this both packages.

What am I doing wrong?

Aristotelianism answered 13/4, 2012 at 18:30 Comment(0)
L
11

R thinks that you do not have the packages on your system.

Now you of course know that you do. What is the difference?

Well you probably have them installed in another directory which R CMD check does not look at. One way to fix this is described in Section 7 entitled "Tools" of the 'R Internals' manual (referenced from 'Writing R Extensions') and uses the file ~/.R/checkEnviron to set environment variables to be used during R CMD check.

For example, I have

# edd Apr 2003  Allow local install in /usr/local, also add a directory for
#               Debian packaged CRAN packages, and finally the default dir 
# edd Jul 2007  Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:'
                          '/usr/lib/R/site-library:/usr/lib/R/library'}

where I just broke the one long line (there aren't two apostrophes in the middle).

Lough answered 13/4, 2012 at 18:36 Comment(4)
Does specifying that in $R_HOME/etc/Rcmd_environ also work?Swafford
Very likely, yes, at least far as the location goes. But I got used to creating the directory ~/.R/ and placing files therein. Where is the file Rcmd_environ documented?Lough
I'm not sure it is documented. I noticed on my XP machine awhile ago. Not even sure it exists on *nix installs.Swafford
Thanks. It works. Instead of editing the path, i copied the installed packages to the folder which "R CMD check" really checks.Aristotelianism

© 2022 - 2024 — McMap. All rights reserved.