Re: [Rd] R-2.0.0 Install problem for pkg bundle w inter-dependent namespaces

From: Martin Maechler <maechler_at_stat.math.ethz.ch>
Date: Mon 20 Sep 2004 - 19:41:05 EST

>>>>> "Greg" == Warnes, Gregory R <gregory_r_warnes@groton.pfizer.com>
>>>>> on Fri, 17 Sep 2004 14:18:29 -0400 writes:

    Greg> I have a revised version of the gregmisc package,
    Greg> which I've converted into a package bundle each of
    Greg> which has a namespace: gplots, gmodels, gdata,
    Greg> gtoools.  Of course, there are interdependencies among
    Greg> these namespaces:

    Greg> gsun374: /tmp [11]> cd gregmisc/
    Greg> gsun374: gregmisc [12]> grep import */NAMESPACE
    Greg>   gdata/NAMESPACE:importFrom(gtools, odd, invalid, mixedsort)
    Greg> gmodels/NAMESPACE:importFrom(MASS, ginv)
    Greg>  gplots/NAMESPACE:importFrom(gtools, invalid)
    Greg> gplots/NAMESPACE:importFrom(gtools, odd)     Greg> gplots/NAMESPACE:importFrom(gdata, nobs)

since nobody else has answered yet (and a considerable portion of R-core is traveling this week) :

If I understand correctly, your basic package 'gtools' and the dependency you need is

 gplots --> gdata --> gtools

        \----->----/

Have you made sure to use the proper 'Depends: ' entries in the DESCRIPTION(.in) files of your bundle packages ?

This works fine if the packages are *not* in a bundle, right?

    Greg> Under R-1.9.1, this package bundle passes R CMD check
    Greg> and installs happily.  However, under yesterday's
    Greg> R-2.0.0-alpha, the package fails to install (& hence
    Greg> pass CMD CHECK) with the error

    Greg> ** preparing package for lazy loading
    Greg> Error in loadNamespace(i[[1]], c(lib.loc, .libPaths()), keep.source)
    Greg> : 
    Greg> There is no package called 'gdata'
    Greg> Execution halted
    Greg> ERROR: lazy loading failed for package 'gplots'

    Greg> because the gdata package is the last in the bundle to     Greg> be installed, so it is not yet present.

    Greg> So, what is the proper way to handle this? Is there     Greg> some way to manually specify the package install order?

Well, isn't the order in the 'Contains:' field of the bundle DESCRIPTION file used?
If not, please consider sending patches for src/scripts/INSTALL.in

There are not too many bundles AFAIK, and conceptually (inspite of the recommended VR one) the improved package management tools that we (and the bioconductor project) have been adding to R for a while noe
really aim for "R package objects" and clean version / dependency handling of inidividual packages in many different concepts.

If bundle installation etc could rely entirely on the package tools, bundles would "work automagically". But probably, for this a bundle would have to be treated as a "package repository" which it isn't currently AFAIK.

Regards,
Martin Maechler



R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Mon Sep 20 19:45:54 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 09:00:21 EST