[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