From ripley at stats.ox.ac.uk  Fri Feb 23 00:46:33 2007
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Thu, 22 Feb 2007 23:46:33 +0000 (GMT)
Subject: [Rd] Writing a package in which files must be sourced in a
 specific order
In-Reply-To: <f8e6ff050702221451n17d13a35oaa5e9859ccdb7834@mail.gmail.com>
References: <f8e6ff050702221451n17d13a35oaa5e9859ccdb7834@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.0702222332320.27682@gannet.stats.ox.ac.uk>

What 'alphabetical order' is depends on the locale.  In en_NZ g < G, in C
G < g.  So it is a rather slippery concept (and gets worse in non-English 
locales: 'aa' sorts after z in Danish).

You don't tell us quite what you are doing, but R CMD INSTALL is 
working in C when concatenating the files in the R directory to ensure 
consistency across R installations.

My guess is that you need to give a collation order in the DESCRIPTION 
file (see 'Writing R Extensions'), if I am interpolating your 
comments correctly.

On Thu, 22 Feb 2007, hadley wickham wrote:

> Dear all,
>
> I have been using the proto package to create objects with mutable
> state for my ggplot package.  This has been very successful so far,
> but I have run into a problem when building/installing the package,
> because the source files need to be loaded in a specific order so that
> dependencies are initialised correctly.

'loaded'?  Do you mean sourced during INSTALL?

> I have named the files so that dependencies are loaded before they are
> needed, so that
>
> lapply(dir("~/documents/ggplot/ggplot/R", full.name=T), source)
>
> runs without error, but when installing the package I get an error
> than indicates that the files aren't being loaded in alphabetical
> order:
>
> Error in proto(Geom, { : object "Geom" not found
> Error: unable to load R code in package 'ggplot'
> Error: package/namespace load failed for 'ggplot'
>
> Can anyone suggest how I could get around this?
>
> Regards,
>
> Hadley
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
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



[Rd] Writing a package in which files must be sourced in a specific order
Prof Brian Ripley