Skip to content

Recursive dependencies(Rcmdr)

3 messages · Peter Dalgaard, Brian Ripley, John Fox

#
Something might have slipped by me, but I got into the following situation
installing Rcmdr:

< install.packages("Rcmdr",depend=TRUE) >

Oodles of Output, until:

* Installing *source* package 'multcomp' ...
** R
** data
** inst
** preparing package for lazy loading
Error in dyn.load(x, as.logical(local), as.logical(now)) :
        unable to load shared library '/home/bs/pd/Rlibrary/mvtnorm/libs/mvtnorm.so':
  /home/bs/pd/Rlibrary/mvtnorm/libs/mvtnorm.so: cannot open shared object file: No such file or directory
Execution halted

.... Several oodles more for remaining packages ....

** building package indices ...
* DONE (strucchange)

The downloaded packages are in
        /tmp/RtmpF23254/downloaded_packages
Warning messages:
1: installation of package 'multcomp' had non-zero exit status in: install.packages("Rcmdr", depend = TRUE)
2: cannot create HTML package index in: tools:::unix.packages.html(.Library)


OK, so we start Rcmdr
Loading required package: tcltk
Loading required package: car

it then detects that multcomp is missing and asks for permission to
install it, giving the same result. 

The thing appears to be that multcomp depends on mvtnorm, but the
extra dependency goes undetected. Manual installation of the two
works.

A workaround is that John adds mvtnorm to the Suggested list for
Rcmdr, but I wonder if we couldn't do something smarter.
_
platform x86_64-unknown-linux-gnu
arch     x86_64
os       linux-gnu
system   x86_64, linux-gnu
status
major    2
minor    2.0
year     2005
month    10
day      06
svn rev  35749
language R
[1] "/home/bs/pd/Rlibrary" "/usr/lib64/R/library"
#
On Fri, 11 Nov 2005, Peter Dalgaard wrote:

            
install.packages() does indeed have code to check for dependencies of 
dependencies.  I got the message

also installing the dependencies 'acepack', 'scatterplot3d', 'quadprog', 
'fBasics', 'Hmisc', 'mlbench', 'randomForest', 'SparseM', 'xtable', 'oz', 
'leaps', 'dynlm', 'e1071', 'tseries', 'chron', 'fCalendar', 'its', 'DAAG', 
'abind', 'car', 'effects', 'lmtest', 'multcomp', 'mvtnorm', 'relimp', 
'sandwich', 'strucchange', 'zoo'

The problem is the ordering.  Rcmdr does have mvtnorm in the 'Suggests' 
list, and has it after 'multcomp', and install.packages does not check 
that the Suggests list does not have inter-dependencies.

So we do `do something smarter', but not smart enough.

  
    
#
Dear Brian and Peter,

I guess that this problem didn't surface before because most use of the
Rcmdr package is on Windows using the package binaries.

I think that I can simply remove mvtnorm (and probably some others as well)
from the Rcmdr dependencies. I'll check more carefully when I have some
time, but I believe that mtvnorm is there just for multcomp, and its
inclusion probably dates to a period before dependencies were resolved by
install.packages().

Thanks for bringing this to my attention.

John

--------------------------------
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario
Canada L8S 4M4
905-525-9140x23604
http://socserv.mcmaster.ca/jfox 
--------------------------------