From stefano.iacus at unimi.it  Thu Nov  6 10:22:21 2003
From: stefano.iacus at unimi.it (Stefano Iacus)
Date: Thu Nov  6 10:21:14 2003
Subject: [Rd] RAqua package installation on Panther
Message-ID: <B9DFBCAB-103A-11D8-8BBF-003065CC4CB8@unimi.it>

 From the RAqua faq just uploaded to CRAN (so it will take until 
tomorrow to appear)



Panther notes
After installing Panther (MacOSX 10.3) it turns out that package 
installation (either from sources or from binaries) can fail. If you 
get an error "like" this (this comes from source package installation)

dyld: gcc version mismatch for library: /usr/local/lib/libiconv.2.dylib 
(compatibility version of user: 5.0.0 greater than library's version: 
4.0.0)

i.e. you get an incompatibility error for the libiconv library, this is 
probably due to the fact that you have the "libiconv" dll in the 
"/usr/local/lib" path. It seems that this library is installed on 
Jaguar (MacOSX 10.2.x) with the distribution of teTex that comes from 
the "i-installer 2". If you install the same te TeX distribution on 
Panther and you didn't have a previous installed one on Jaguar, then 
this library is not installed in "/usr/local/bin". So this is not a 
i-installer bug or a RAqua bug. The problem comes from GNU based 
command line tools (for example gcc and tar) that use this dll which is 
installed in "/usr/lib" under Panther.

The fix
If you only need to install packages from binaries, you just need to 
write the following command in a R session <i>before</i> attempting to 
install packages

dyld <- Sys.getenv("DYLD_LIBRARY_PATH")<br>
Sys.putenv("DYLD_LIBRARY_PATH"=paste("/usr/lib",dyld,sep=":"))

This fix is for non-expert unix user and only fix binary installation 
and should be done each time you need to install packages from binaries 
(on a per-session basis, i.e. only one time a session).
The more robust fix that also fixes source package installation is to 
edit the main R script file which is

/Applications/StartR.app/RAqua.app/Contents/MacOS/R

in order to have /usr/bin as the first path entry in the 
DYLD_LIBRARY_PATH environment variable. For example transform this 
piece of script from

if test -z "${DYLD_LIBRARY_PATH}"; then
   DYLD_LIBRARY_PATH="${R_LD_LIBRARY_PATH}"
else<br>
   DYLD_LIBRARY_PATH="${R_LD_LIBRARY_PATH}:${DYLD_LIBRARY_PATH}"
fi
export DYLD_LIBRARY_PATH<br>

into the following one

if test -z "${DYLD_LIBRARY_PATH}"; then
   DYLD_LIBRARY_PATH="${R_LD_LIBRARY_PATH}"
else
   DYLD_LIBRARY_PATH="${R_LD_LIBRARY_PATH}:${DYLD_LIBRARY_PATH}"
fi
DYLD_LIBRARY_PATH="/usr/bin:${DYLD_LIBRARY_PATH}" ## just this line 
added
export DYLD_LIBRARY_PATH




Thanks to Thomas L. and other users to stop this and suggest fixes.
Thomas is still claiming that it is also configure that fails on 
panther because of the same problem.

My own experience is that
* on a fresh Panther installation (i.e. removing jaguar, tex etc...I 
formatted my boot disk)
* using g77 from the RAqua page
* installing teTeX with the i-installer
* configuring for RAqua

I get not problem and all went smoothly for yesterday (nov 5th) R-devel.


Please let us know, possibly before the end of the next week (i.e. in 
time for R.1.8.1), if you have other problems with Panther.

stefano


[Rd] RAqua package installation on Panther
Stefano Iacus