Crispin Miller
2003-Oct-07 13:59 UTC
[R] .First.lib doesn't appear to be running after calling library()
Hi - so I've dusted off the C bits of my brain and gotten a library written for my package... It passes R CMD check ok, and I've put a file called '.First.lib.R' in the pacakge's 'R' subdirectory. Its permissions are 644. It says: .First.lib <- function(lib,pkg) { library.dynam("foo",pkg,lib); require(affy,quietly=TRUE); } I build and INSTALL the package, start R and then call library(foo). I deduce that my '.First.lib' isn't running because the affy library doesn't get loaded - and neither does my dynamic library (which complies ok and results in 'foo.so' being put in the 'src/' directory of the package)... Any ideas what I'm doing wrong? Crispin -------------------------------------------------------- This email is confidential and intended solely for the use o...{{dropped}}
Prof Brian Ripley
2003-Oct-07 14:38 UTC
[R] .First.lib doesn't appear to be running after calling library()
On Tue, 7 Oct 2003, Crispin Miller wrote:> Hi - so I've dusted off the C bits of my brain and gotten a library written for my package... > > It passes R CMD check ok, and I've put a file called '.First.lib.R' in the pacakge's 'R' subdirectory. Its permissions are 644. > > It says: > > .First.lib <- function(lib,pkg) { > library.dynam("foo",pkg,lib); > require(affy,quietly=TRUE); > } > > > I build and INSTALL the package, start R and then call library(foo). > I deduce that my '.First.lib' isn't running because the affy library doesn't get loaded - and neither does my dynamic library (which complies ok and results in 'foo.so' being put in the 'src/' directory of the package)... > > Any ideas what I'm doing wrong?Don't use a file name starting with a dot. Assuming this is Unix and R 1.7.1, INSTALL does Rfiles=`LC_COLLATE=C ls R/*.[RSqrs] R/${R_OSTYPE}/*.[RSqrs] 2>/dev/null` and ls will omit file names starting with a dot. `Writing R Extensions' says The @file{R} subdirectory contains @R{} code files. The code files to be installed must start with a (lower or upper case) letter and have one of the extensions @file{.R}, @file{.S}, @file{.q}, @file{.r}, or @file{.s}. but it seems we don't quite enforce that on either Unix nor Windows. -- 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