I have a number simple R functions written for the biologists I work
with. These functions will evolve, and the documentation will get
steadily better. I hope to put them in a package on a local
webserver, along with lots of help files, so that the users can easily
update their installation.
The functions are pure R, with no compiled code, but alias, I cannot figure out
how to build this package so that it is portable across operating
systems.
It looks like 'R CMD build' inserts the following line into the resulting package:
Built: R 2.1.0; powerpc-apple-darwin7.9.0; 2005-05-18 14:28:36; unix
making it impossible for me to later load the package into R running under another OS.
I see this error when I execute library ('simple') under linux:
Error: package 'simple' was built for powerpc-apple-darwin7.9.0
I'll be grateful if anyone can help me work around this restriction ... or
let me know how I am misconstruing the evidence.
Thank you!
- Paul Shannon
Institute for Systems Biology
Seattle
source-only package, but still: Error: package 'simple' was built for powerpc-apple-darwin7.9.0
3 messages · Paul Shannon, Brian Ripley
On Wed, 18 May 2005, Paul Shannon wrote:
I have a number simple R functions written for the biologists I work with. These functions will evolve, and the documentation will get steadily better. I hope to put them in a package on a local webserver, along with lots of help files, so that the users can easily update their installation.
We encourage you to use a repository, as in the article in the current R-news.
The functions are pure R, with no compiled code, but alias, I cannot
figure out how to build this package so that it is portable across
operating systems.
It looks like 'R CMD build' inserts the following line into the
resulting package:
Built: R 2.1.0; powerpc-apple-darwin7.9.0; 2005-05-18 14:28:36; unix
making it impossible for me to later load the package into R running
under another OS. I see this error when I execute library ('simple')
under linux:
Error: package 'simple' was built for powerpc-apple-darwin7.9.0
I'll be grateful if anyone can help me work around this restriction ... or
let me know how I am misconstruing the evidence.
You are. It is R CMD INSTALL that inserts such a line, and it does not do mention the platform if there is no src directory. On my system there are 281 such packages. To pick one at random: try installing 'fda'. I suspect your package has structure it is not using.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Hi Brian,
Thanks very much for your two tips concerning my failed attempt, yesterday, to build and
install a package:
"I suspect your package has structure it is not using."
I had an empty 'src' directory. Once I removed that, BUILD & INSTALL on another
OS worked fine.
"We encourage you to use a repository, as in the article in the current R-news."
I've spent a few hours on this, and though I made some pretty good progress, I am not
yet completely successful. I read your article, "Packages and their Management in R 2.1.0"
and the two antecedents, "R Help Desk, 12/03" and "Writing R Extensions". I also
attempted some reverse-engineering by studying directory structure at the CRAN repository.
I can now use
available.packages (contriburl='http://myhost/R')
and see the simple package I installed there, but I cannot load it unless
(this is embarrassing...) I have two copies of the tar.gz file, one at
the root of the repository, and one in src/contrib within the repository.
I am sure that the repository mechanism is sensible, but I am also sure I don't yet
understand it. The directory structure, and the roles of the PACKAGES, replisting, and
repdatadesc.rda are as yet unclear to me.
Can you provide some further help? I'll be grateful.
For what it's worth (and assuming it doesn't yet exist) I would be glad, at the conclusion
of this exercise, to create a step-by-step tutorial, titled, perhaps:
"Sharing Code: An Idiot's Guide to packaging an R function, creating a repository, and
installing from that repository into a local library."
Regards,
- Paul Shannon
Institute for Systems Biology
Seattle