If I do R CMD CHECK, R uses the makefile that came with the source files to create the .o files but does not create the .so file (I still get the "cp: *.so: No such file or directory" error). I tried playing around with that makefile but to no avail. I can use R CMD SHLIB to create the .so file from the .o files afterwards, and if I do RCMD CHECK again it gets past the "checking whether package 'chpoly' can be installed ..." step but gets hung up with a set of new errors:
====== Error: .First.lib failed for 'chpoly' Call sequence: 2: stop(gettextf(".First.lib failed for '%s'", libraryPkgName(package)), domain = NA) 1: library(package, lib.loc = lib.loc, character.only = TRUE, verbose = FALSE) Execution halted See section 'Generic functions and methods' of the 'Writing R Extensions' manual. * checking replacement functions ... WARNING Error: .First.lib failed for 'chpoly' Call sequence: 2: stop(gettextf(".First.lib failed for '%s'", libraryPkgName(package)), domain = NA) 1: library(package, lib.loc = lib.loc, character.only = TRUE, verbose = FALSE) Execution halted In R, the argument of a replacement function which corresponds to the right hand side must be named 'value'. * checking foreign function calls ... WARNING Error: .First.lib failed for 'chpoly' Call sequence: 2: stop(gettextf(".First.lib failed for '%s'", libraryPkgName(package)), domain = NA) 1: library(package, lib.loc = lib.loc, character.only = TRUE, verbose = FALSE) Execution halted See section 'System and foreign language interfaces' of the 'Writing R Extensions' manual. ===== .First.lib is defined as: .First.lib <- function(libname, pkgname) { library.dynam ("chpoly",pkgname,libname) } which I think is correct, but maybe not? I tried creating a test package that uses C++ to take in some arguments, do some simple math, and spit them back out again and that works with no problem (although there is no makefile in that test version. . .) If you have any ideas, let me know. . . Thanks so much! Selwyn-Lloyd McPherson On Aug 6, 2006, at 9:34 PM, Dirk Eddelbuettel wrote: > > On 6 August 2006 at 18:50, Selwyn-Lloyd McPherson wrote: > | Hi everyone, > | > | I am writing a package for R and implementing a collection of C++ > | scripts with it. Unfortunately, I did not write the C++ files, so I > | am dependent on using the supplied makefile that came with it. This > > Not necessarily. You as R package author are responsible of getting > your > sources into a form understood by 'R CMD ... ' and friends. > > | works fine for compiling the program outside of R, but in trying to > | create the package, the .o files are created but at the end I run > | into this error: > | > | cp: *.so: No such file or directory > | ERROR: compilation failed for package 'chpoly' > | > | > | I think this is because the .so file is never created, but I > might be > | wrong. Is there something I have to add to the makefile to ensure > | that everything works out okay? > > Quite possibly, but it is hard to say from what you posted. > > My general advice is to fetch a few of the 700+ CRAN packages and > study those > with a similar layout -- in your case with C++. There are numerous > ones that > wrap to external C++ libraries and file collections. You should > fine one > that fits. > > Hope this helps, Dirk > > -- > Hell, there are no rules here - we're trying to accomplish something. > -- Thomas A. Edison > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel