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

Simon Urbanek simon.urbanek at r-project.org
Wed Dec 3 13:25:30 CET 2008


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


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

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.

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