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

Martin Maechler maechler at stat.math.ethz.ch
Mon Sep 20 11:41:05 CEST 2004

>>>>> "Greg" == Warnes, Gregory R <gregory_r_warnes at 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  

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.

Martin Maechler

More information about the R-devel mailing list