[R-SIG-Mac] .... Matrix broken on Mac...

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Dec 3 18:48:00 CET 2008


Users of R on Windows often do not appreciate how smoothly things work 
there, nor how much work went into making it so.  In part this is 
achieved by being very conservative about the OS environment, and we 
still support Windows 2000.

Macs have many more possibilities for things to go wrong (4 
architectures, incompatible changes in the OS service packs, lots more 
use of dynamic loading ...).  So binary distributions are not 
recommended except from a single source (which CRAN provides, and BioC 
is AFAIK essentially the same source).

Dave Atkins wrote:
> 
> Hi all--
> 
> I realize now that Doug and I had a final back-channel exchange, which 
> (of course) wasn't privy to the listserv.  There's a lot in the recent 
> exchange which goes beyond my computer knowledge.
> 
> As suspected below, the CRAN versions work fine for me, and I ran into 
> problems with both lme4 and Matrix when I installed from R-forge (and 
> lme4 from R-forge still had problems after loading Matrix from CRAN).  I 
> recently switched from PC to Mac, and had often installed/updated 
> packages from R-forge on the PC.  Now, I see there are some 
> additional... peculiarities? in doing so with the Mac.  For my own 
> purposes, it should be fine just to stay with CRAN packages, where I 
> don't believe I've hit any problems.
> 
> I have never specified the "type" argument when installing packages.
> 
> Hope this helps.
> 
> cheers, Dave
> 
> 
> Prof Brian Ripley wrote:
>> On Wed, 3 Dec 2008, Simon Urbanek wrote:
>>
>>>
>>> On Dec 3, 2008, at 6:26 PM, Prof Brian Ripley wrote:
>>>
>>>> On Wed, 3 Dec 2008, Martin Maechler wrote:
>>>>
>>>>> This was on the wrong mailing list (R-SIG-mixed-models),
>>>>> but I strongly believe belongs here.
>>>>>
>>>>> As one of the two maintainers of Matrix,
>>>>> I'm very interested to here if really there are still/again
>>>>> problems with the *R-forge* (or CRAN) version of Matrix on the Mac.
>>>>
>>>> We need to be careful here about what R version (source vs binary, 
>>>> CRAN build vs others, which sub-architectures?).
>>>>
>>>> That Simon is building R-devel means that the CRAN version of Matrix 
>>>> works on the CRAN build of R with all the sub-architectures.
>>>>
>>>>> We have made several efforts, partially prompted and aided by
>>>>> Simon Urbanek, to get the issues (mostly related to building a
>>>>> "fat binary", IIRC) resolved.
>>
>>>>> Dave, did you install the R-forge version
>>>>> with
>>>>>     install.packages("Matrix",repos="http://R-Forge.R-project.org")
>>>>>
>>>>> {as it is recommended}?
>>>>
>>>> which with a CRAN build gets a binary.  That binary works for me 
>>>> (Leopard i386, 10.5.5), but it only has i386 and ppc binaries.
>>>
>>> The Tiger build Matrix binary has only 32-bit (i386/ppc) because 
>>> that's the only archs that the Tiger R build contains. The Leopard 
>>> build Matrix binary has all four archs (incl. x86_64 and ppc64).
>>
>> Yes, my point being that the R-forge Matrix binary (which is what that 
>> command gets) has only two of the archs. whereas the CRAN Leopard R 
>> binary has four.
>>
>>>> So I think you should be recommending type="source" to Mac users (or 
>>>> at least warn 64-bit Mac users about this).
>>>>
>>>> Now the i386 Matrix.so is linked against gfortran:
>>>>
>>>> tystie% otool -L Matrix.so
>>>> Matrix.so:
>>>>     Matrix.so (compatibility version 0.0.0, current version 0.0.0)
>>>>
>>>> /Library/Frameworks/R.framework/Versions/2.8/Resources/lib/libRlapack.dylib 
>>>> (compatibility version 2.8.0, current version 2.8.0)
>>>>
>>>> /Library/Frameworks/R.framework/Versions/2.8/Resources/lib/libRblas.dylib 
>>>> (compatibility version 0.0.0, current version 0.0.0)
>>>>     /usr/local/lib/libgfortran.2.dylib (compatibility version 3.0.0, 
>>>> current version 3.0.0)
>>>> ...
>>>>
>>>> and the error message is about not finding libgfortran.  That 
>>>> suggests a problem with the R installation in question, since AFAIK 
>>>> this is normally installed with R.  If 
>>>> /usr/local/lib/libgfortran.2.dylib really is missing, it can be 
>>>> installed from the tools subdirectory on CRAN (or you could try 
>>>> re-installing R).
>>>>
>>>> The CRAN build of Matrix is not linked against libgfortran.  I 
>>>> suspect that reflects a difference in how the BLAS has been set up 
>>>> on R-forge and on Simon's build machine.  Fortran is needed for the 
>>>> standard R BLAS but not for the 'vecLib' BLAS that comes with the OS.
>>>>
>>>
>>> It's not really just BLAS but it depends on whether the installed 
>>> gfortran uses static or dynamic libgfortran. It's a long story but 
>>> essentially the current rationale is that if you compile from 
>>> sources, you'll have the dynamic libgfortran (if used), so it is not 
>>> really necessary inside R. Binary providers, however, have to be 
>>> conscious about this and I recommend using static libgfortran so you 
>>> don't get into such problems (but it has other issues...). Originally 
>>> I had planned to keep the old dynamic library in the R distribution, 
>>> but it got omitted inadvertently. Since it is not crucial to R itself 
>>> and CRAN binaries, I didn't think it's import enough to warrant 
>>> another re-packaging.
>>
>> Thanks for the clarification.  I didn't expect static libgfortran to 
>> work (and e.g. it does not on x86_64 Linux).
>>
>>> There are more problems with the R-Forge OS X builds (they don't 
>>> perform clean checkouts so strange files can get caught up etc.), so 
>>> currently I'd strongly recommend using type='source' for R-Forge 
>>> packages.
>>
>> And that will require you to install the gfortran from CRAN as well as 
>> Xcode.
>>
>>>
>>> Cheers,
>>> Simon
>>>
>>>
>>>> So I think the problem is with one user's R installation, but this 
>>>> was triggered by a difference in how the CRAN and R-forge builds of 
>>>> R 2.8.0 were configured.
>>>>
>>>>>
>>>>> Best regards,
>>>>> Martin
>>>>>
>>>>>
>>>>>
>>>>>>>>>> "DA" == Dave Atkins <datkins at fuller.edu>
>>>>>>>>>>   on Mon, 01 Dec 2008 11:39:18 -0800 writes:
>>>>>
>>>>>  DA> Douglas Bates wrote:
>>>>>  >> Does
>>>>>  >>
>>>>>  >> library(Matrix)
>>>>>  >>
>>>>>  >> without any reference to lme4 work for you?
>>>>>
>>>>>  DA> No, if I start a fresh R session and call Matrix on its
>>>>>  DA> own, I get:
>>>>>
>>>>>  >> library(Matrix)
>>>>>  DA> Loading required package: lattice Error in
>>>>>  DA> dyn.load(file, DLLpath = DLLpath, ...) : unable to load
>>>>>  DA> shared library
>>>>>  DA> 
>>>>> '/Library/Frameworks/R.framework/Resources/library/Matrix/libs/i386/Matrix.so': 
>>>>>
>>>>>
>>>>>  DA> 
>>>>> dlopen(/Library/Frameworks/R.framework/Resources/library/Matrix/libs/i386/Matrix.so, 
>>>>>
>>>>>  DA> 6): Library not loaded:
>>>>>  DA> /usr/local/lib/libgfortran.2.dylib Referenced from:
>>>>>  DA> 
>>>>> /Library/Frameworks/R.framework/Resources/library/Matrix/libs/i386/Matrix.so 
>>>>>
>>>>>  DA> Reason: image not found Error: package/namespace load
>>>>>  DA> failed for 'Matrix'
>>>>>
>>>>>  >> sessionInfo()
>>>>>  DA> R version 2.8.0 (2008-10-20) i386-apple-darwin8.11.1
>>>>>
>>>>>  DA> locale:
>>>>>  DA> en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>>>>
>>>>>  DA> attached base packages: [1] stats graphics grDevices
>>>>>  DA> utils datasets methods base
>>>>>
>>>>>  DA> other attached packages: [1] lattice_0.17-17
>>>>>
>>>>>  DA> loaded via a namespace (and not attached): [1]
>>>>>  DA> grid_2.8.0
>>>>>  >>
>>>>>
>>>>> Any ideas?  Anything else I can pass along?
>>>>>
>>>>>  DA> thanks, Dave
>>>>>
>>>>>  >>
>>>>>  >> The other person who was having difficulty loading the
>>>>>  >> Matrix package on a Mac was able to resolve the problem
>>>>>  >> although I forget the details of how it was resolved.
>>>>>  >>
>>>>>  >> The messages indicate that the problem is more with
>>>>>  >> Matrix than with lme4.
>>>>>  >>
>>>>>  >> On Mon, Dec 1, 2008 at 12:26 PM, Dave Atkins
>>>>>  >> <datkins at fuller.edu> wrote:
>>>>>  >>> [whoops, first sent this from my current email, which
>>>>>  >>> the listserv didn't recognize.  apologies if this comes
>>>>>  >>> through twice.]
>>>>>  >>
>>>>>  >> And it did come through twice.  I read the messages in
>>>>>  >> the wrong order and authorized the posting from the other
>>>>>  >> address before reading this message.  Sorry for the extra
>>>>>  >> noise.
>>>>>  >>
>>>>>  >>> Doug--
>>>>>  >>>
>>>>>  >>> You had inquired whether anyone else was having problems
>>>>>  >>> with Matrix on a Mac... yep.  I am.  You'll see below
>>>>>  >>> that I removed both lme4 and Matrix, re-install from
>>>>>  >>> r-forge, but get an error msg.  sessionInfo() at bottom.
>>>>>  >>>
>>>>>  >>> Could someone point me to an earlier version of Matrix?
>>>>>  >>> I don't believe I had this problem prior to the most
>>>>>  >>> recent update.
>>>>>  >>>
>>>>>  >>> cheers, Dave
>>>>>  >>>
>>>>>  >>> Dave Atkins, PhD Research Associate Professor Center for
>>>>>  >>> the Study of Health and Risk Behaviors Department of
>>>>>  >>> Psychiatry and Behavioral Science 1100 NE 45th Street,
>>>>>  >>> Suite 300 Seattle, WA 98105 206-616-3879
>>>>>  >>> datkins at u.washington.edu
>>>>>  >>>
>>>>>  >>>
>>>>>  >>>> remove.packages("Matrix")
>>>>>  >>> Warning in remove.packages("Matrix") : argument 'lib' is
>>>>>  >>> missing: using
>>>>>  >>> /Library/Frameworks/R.framework/Resources/library
>>>>>  >>>> remove.packages("lme4")
>>>>>  >>> Warning in remove.packages("lme4") : argument 'lib' is
>>>>>  >>> missing: using
>>>>>  >>> /Library/Frameworks/R.framework/Resources/library
>>>>>  >>>> install.packages("Matrix", repos =
>>>>>  >>>> "http://r-forge.r-project.org")
>>>>>  >>> trying URL
>>>>>  >>> 
>>>>> 'http://r-forge.r-project.org/bin/macosx/universal/contrib/2.8/Matrix_0.999375-17.tgz' 
>>>>>
>>>>>  >>> Content type 'application/x-gzip' length 2740286 bytes
>>>>>  >>> (2.6 Mb) opened URL
>>>>>  >>> ==================================================
>>>>>  >>> downloaded 2.6 Mb
>>>>>  >>>
>>>>>  >>>
>>>>>  >>> The downloaded packages are in
>>>>>  >>>
>>>>>  >>> 
>>>>> /var/folders/eF/eFm91WFiEm8IX1HSzMCn4E+++TI/-Tmp-//RtmpVgGfBC/downloaded_packages 
>>>>>
>>>>>  >>>> install.packages("lme4", repos =
>>>>>  >>>> "http://r-forge.r-project.org")
>>>>>  >>> trying URL
>>>>>  >>> 
>>>>> 'http://r-forge.r-project.org/bin/macosx/universal/contrib/2.8/lme4_0.999375-27.tgz' 
>>>>>
>>>>>  >>> Content type 'application/x-gzip' length 913761 bytes
>>>>>  >>> (892 Kb) opened URL
>>>>>  >>> ==================================================
>>>>>  >>> downloaded 892 Kb
>>>>>  >>>
>>>>>  >>>
>>>>>  >>> The downloaded packages are in
>>>>>  >>>
>>>>>  >>> 
>>>>> /var/folders/eF/eFm91WFiEm8IX1HSzMCn4E+++TI/-Tmp-//RtmpVgGfBC/downloaded_packages 
>>>>>
>>>>>  >>>> library(lme4)
>>>>>  >>> Loading required package: Matrix Error in dyn.load(file,
>>>>>  >>> DLLpath = DLLpath, ...) : unable to load shared library
>>>>>  >>> 
>>>>> '/Library/Frameworks/R.framework/Resources/library/Matrix/libs/i386/Matrix.so': 
>>>>>
>>>>>  >>>
>>>>>  >>> 
>>>>> dlopen(/Library/Frameworks/R.framework/Resources/library/Matrix/libs/i386/Matrix.so, 
>>>>>
>>>>>  >>> 6): Library not loaded:
>>>>>  >>> /usr/local/lib/libgfortran.2.dylib Referenced from:
>>>>>  >>> 
>>>>> /Library/Frameworks/R.framework/Resources/library/Matrix/libs/i386/Matrix.so 
>>>>>
>>>>>  >>> Reason: image not found Error: package 'Matrix' could
>>>>>  >>> not be loaded
>>>>>  >>>> sessionInfo()
>>>>>  >>> R version 2.8.0 (2008-10-20) i386-apple-darwin8.11.1
>>>>>  >>>
>>>>>  >>> locale:
>>>>>  >>> en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>>>>  >>>
>>>>>  >>> attached base packages: [1] stats graphics grDevices
>>>>>  >>> utils datasets methods base
>>>>>  >>>
>>>>>  >>> other attached packages: [1] lattice_0.17-17
>>>>>  >>>
>>>>>  >>> loaded via a namespace (and not attached): [1]
>>>>>  >>> grid_2.8.0 tools_2.8.0
>>>>>  >>>
>>>>>  >>> _______________________________________________
>>>>>  >>> R-sig-mixed-models at r-project.org mailing list
>>>>>  >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>>>>>  >>>
>>>>>  >>
>>>>>
>>>>> _______________________________________________
>>>>>  DA> R-sig-mixed-models at r-project.org mailing list
>>>>>  DA> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>>>>>
>>>>> _______________________________________________
>>>>> R-SIG-Mac mailing list
>>>>> R-SIG-Mac at stat.math.ethz.ch
>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>>
>>>>
>>>> -- 
>>>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>>>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>>>> University of Oxford,             Tel:  +44 1865 272861 (self)
>>>> 1 South Parks Road,                     +44 1865 272866 (PA)
>>>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>>>>
>>>> _______________________________________________
>>>> R-SIG-Mac mailing list
>>>> R-SIG-Mac at stat.math.ethz.ch
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>
>>>
>>


-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-SIG-Mac mailing list