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



More information about the R-devel mailing list