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

Dave Atkins datkins at fuller.edu
Wed Dec 3 15:58:56 CET 2008


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



More information about the R-SIG-Mac mailing list