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 <[EMAIL PROTECTED]>
  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
 >> <[EMAIL PROTECTED]> 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
 >>> [EMAIL PROTECTED]
 >>>
 >>>
 >>>> 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
 >>>
 >>> _______________________________________________
 >>> [EMAIL PROTECTED] mailing list
 >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
 >>>
 >>

_______________________________________________
 DA> [EMAIL PROTECTED] mailing list
 DA> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models

_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac


--
Brian D. Ripley,                  [EMAIL PROTECTED]
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
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac



--
Brian D. Ripley,                  [EMAIL PROTECTED]
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
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to