Skip to content

JGR on Mac OS X 10.6 (Snow Leopard)

13 messages · Erich Neuwirth, Simon Urbanek, Michael Kubovy +2 more

#
To answer all those recent posts on both mailing lists regarding JGR  
on OS X 10.6 (Snow Leopard):

You need 64-bit R to run JGR, because Apple has removed 32-bit Java  
from OS X 10.6. So follow those steps:

1) Install 64-bit R from http://r.research.att.com/
   option a) install R 2.9.0 package (but choose to NOT install  
gfortran)
   option b) unpack the leopard tar ball for R 2.9.2 and get the GUI  
from
   http://r.research.att.com/R-GUI-5473-2.9-leopard-Leopard64.dmg
   (in fact you can do both if you wish... ;))

2) install necessary packages as follows:
install.packages(c("rJava","JavaGD","iplots"))
install.packages("JGR",type="mac.binary")

3) download 64-bit JGR launcher from
http://urbanek.info/JGR-1.6-SL.dmg

Run the launcher and enjoy.

---

If you want to use JGR 1.7 from RForge.net, you have to install the  
packages from sources (when building JGR you must set NOAWT=1).
If you are using your own build of R, you must build everything from  
sources yourself.

Cheers,
Simon
#
Thanks for the hints.
It turns out that the part I originally missed was
which I had never used before.
Now, getting more adventurous, I am trying to build the gmp package
in R64.

 > install.packages("gmp",type="mac.binary")
....

 > library(gmp)
Error: package 'gmp' is not installed for 'arch=x86_64'

So I am trying to build the package
I downloaded gmp from gmplig.org and it compiled and passed all the  
tests.
The output alsi indicated that it compiled a 64bit version.
Now for the R build:

Mini:devel neuwirth$ sudo R CMD INSTALL gmp_0.4-10.tar.gz
* Installing to library ?/Library/Frameworks/R.framework/Resources/ 
library?
* Installing *source* package ?gmp? ...
creating cache ./config.cache
checking for __gmpz_ui_sub in -lgmp... yes
updating cache ./config.cache
creating ./config.status
creating src/Makevars
** libs
** arch - i386
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c apply.cc -o apply.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c biginteger.cc -o  
biginteger.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigintegerR.cc -o  
bigintegerR.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigmod.cc -o  
bigmod.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigrational.cc -o  
bigrational.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigrationalR.cc -o  
bigrationalR.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigvec.cc -o  
bigvec.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigvec_q.cc -o  
bigvec_q.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c extract_matrix.cc - 
o extract_matrix.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c factor.cc -o  
factor.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c matrix.cc -o  
matrix.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c matrixq.cc -o  
matrixq.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c solve.cc -o solve.o
g++-4.2 -arch i386 -dynamiclib -Wl,-headerpad_max_install_names - 
undefined dynamic_lookup -single_module -multiply_defined suppress -L/ 
usr/local/lib -o gmp.so apply.o biginteger.o bigintegerR.o bigmod.o  
bigrational.o bigrationalR.o bigvec.o bigvec_q.o extract_matrix.o  
factor.o matrix.o matrixq.o solve.o -L/usr/local/lib/ -lgmp -F/Library/ 
Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: in /usr/local/lib/libgmp.dylib, file is not of required  
architecture
** R
** data
** inst
** preparing package for lazy loading
** help
*** installing help indices
  >>> Building/Updating help pages for package 'gmp'
      Formats: text html latex example
   Oakley                            text    html    latex   example
   add.biginteger                    text    html    latex   example
   apply                             text    html    latex   example
   biginteger                        text    html    latex   example
   biginteger.rand                   text    html    latex   example
   bigrational                       text    html    latex   example
   comp.biginteger                   text    html    latex   example
   comp.bigq                         text    html    latex   example
   cumsum                            text    html    latex   example
   extract                           text    html    latex   example
   extract.bigq                      text    html    latex   example
   extreme                           text    html    latex   example
   factor                            text    html    latex   example
   fibonacci                         text    html    latex   example
   gcd                               text    html    latex   example
   gcdex                             text    html    latex   example
   isprime                           text    html    latex   example
Note: removing empty section \examples in file 'matrix.Rd'
   matrix                            text    html    latex
   modulus                           text    html    latex   example
   nextprime                         text    html    latex   example
   operators_bigq                    text    html    latex   example
   powm                              text    html    latex   example
   sizeinbase                        text    html    latex   example
   solve                             text    html    latex   example
** building package indices ...
Error in dyn.load(file, DLLpath = DLLpath, ...) :
   unable to load shared library '/Library/Frameworks/R.framework/ 
Resources/library/gmp/libs/i386/gmp.so':
   dlopen(/Library/Frameworks/R.framework/Resources/library/gmp/libs/ 
i386/gmp.so, 6): Symbol not found: ___gmpq_add
   Referenced from: /Library/Frameworks/R.framework/Resources/library/ 
gmp/libs/i386/gmp.so
   Expected in: flat namespace
  in /Library/Frameworks/R.framework/Resources/library/gmp/libs/i386/ 
gmp.so
Warning in eval(expr, envir, enclos) :
   Data for RFC 2409 Oakley groups requires package 'gmp'
Error in dyn.load(file, DLLpath = DLLpath, ...) :
   unable to load shared library '/Library/Frameworks/R.framework/ 
Resources/library/gmp/libs/i386/gmp.so':
   dlopen(/Library/Frameworks/R.framework/Resources/library/gmp/libs/ 
i386/gmp.so, 6): Symbol not found: ___gmpq_add
   Referenced from: /Library/Frameworks/R.framework/Resources/library/ 
gmp/libs/i386/gmp.so
   Expected in: flat namespace
  in /Library/Frameworks/R.framework/Resources/library/gmp/libs/i386/ 
gmp.so
Warning in eval(expr, envir, enclos) :
   Data for RFC 2409 Oakley groups requires package 'gmp'
* DONE (gmp)
Mini:devel neuwirth$



trying to do 'library(gmp)' in R64 then produces
 > library(gmp)
Error: package 'gmp' is not installed for 'arch=x86_64'
again, therefore I tried

Mini:devel neuwirth$ R_ARCH=x86_64 sudo R CMD INSTALL --libs-only  
gmp_0.4-10.tar.gz
and this produced the following output

* Installing to library ?/Library/Frameworks/R.framework/Resources/ 
library?
* Installing *source* package ?gmp? ...
creating cache ./config.cache
checking for __gmpz_ui_sub in -lgmp... yes
updating cache ./config.cache
creating ./config.status
creating src/Makevars
** libs
** arch - i386
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c apply.cc -o apply.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c biginteger.cc -o  
biginteger.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigintegerR.cc -o  
bigintegerR.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigmod.cc -o  
bigmod.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigrational.cc -o  
bigrational.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigrationalR.cc -o  
bigrationalR.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigvec.cc -o  
bigvec.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c bigvec_q.cc -o  
bigvec_q.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c extract_matrix.cc - 
o extract_matrix.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c factor.cc -o  
factor.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c matrix.cc -o  
matrix.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c matrixq.cc -o  
matrixq.o
g++-4.2 -arch i386 -I/Library/Frameworks/R.framework/Resources/include  
-I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/ 
include/   -I/usr/local/include    -fPIC  -g -O2 -c solve.cc -o solve.o
g++-4.2 -arch i386 -dynamiclib -Wl,-headerpad_max_install_names - 
undefined dynamic_lookup -single_module -multiply_defined suppress -L/ 
usr/local/lib -o gmp.so apply.o biginteger.o bigintegerR.o bigmod.o  
bigrational.o bigrationalR.o bigvec.o bigvec_q.o extract_matrix.o  
factor.o matrix.o matrixq.o solve.o -L/usr/local/lib/ -lgmp -F/Library/ 
Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: in /usr/local/lib/libgmp.dylib, file is not of required  
architecture
* DONE (gmp)
Mini:devel neuwirth$


What am I doing wrong here. My guess is that I am still getting some  
switches wrong.
On Sep 13, 2009, at 1:59 AM, Simon Urbanek wrote:

            
#
Erich,
On Sep 13, 2009, at 4:52 AM, Erich Neuwirth wrote:

            
You can use type="mac.binary" only for packages that have no native  
library inside (gmp does).
It is either R_ARCH=/x86_64 ... (note the slash!) or R --arch=x86_64
^--- it's still building 32-bit as you can see here
Since you apparently have only 64-bit libgmp, don't use --libs-only  
since the 32-bit version of the package fails anyway.

Cheers,
Simon
#
Thanks, with all your help I finally managed!
On Sep 13, 2009, at 4:05 PM, Simon Urbanek wrote:

            
#
Here is is another one.
I am trying to compile rscproxy for R64.
So I downloaded the sources, and I tried
sudo R --arch=x86_64 CMD INSTALL rscproxy_1.3-1.tar.gz

I get things like
gcc-4.2 -arch i386 -std=gnu99 -I/Library/Frameworks/R.framework/ 
Resources/include -I/Library/Frameworks/R.framework/Resources/include/ 
i386 -I../inst/include -I/usr/local/include    -fPIC  -g -O2 -c  
bdx_SEXP.c -o bdx_SEXP.o

and

** arch - ppc
gcc-4.2 -arch ppc -std=gnu99 -I/Library/Frameworks/R.framework/ 
Resources/include -I/Library/Frameworks/R.framework/Resources/include/ 
ppc -I../inst/include -I/usr/local/include    -fPIC  -g -O2 -c  
bdx_SEXP.c -o bdx_SEXP.o

but nothing about x86_64

What am I doing wrong this time?
On Sep 13, 2009, at 4:05 PM, Simon Urbanek wrote:

            
#
Erich,
On Sep 13, 2009, at 12:02 PM, Erich Neuwirth wrote:

            
For packages that don't have configure or Makefile regular R CMD  
INSTALL will build all architectures so you don't need --arch.  
However, if you see i386 and ppc but don't see x86_64 then it looks as  
if you have 32-bit R from CRAN ... (yet if --arch x86_64 works it  
should be the 64-bit R - so I'm a bit confused). Are you sure you are  
using the correct R version? You should see:

Fino:~$ ls /Library/Frameworks/R.framework/Resources/bin/exec
i386   ppc    ppc64  x86_64

In fact on Snow Leopard you want to run
rm -rf /Library/Frameworks/R.framework/Resources/bin/exec/ppc*
because Rosetta is not installed by default and ppc64 libraries are  
missing, so on SL you should see

Fino:~$ ls /Library/Frameworks/R.framework/Resources/bin/exec
i386   x86_64

Cheers,
Simon
#
Hi Simon,

I'm sorry to say that I've tried and failed to set up 64-bit R 2.9.2  
and JGR.

(1) It's not clear to me where on http://r.research.att.com/ to  
download from. (I searched for "snow", since all else assumed that I  
know what I'm doing.)

(2) I don't understand why you say (below) to download 2.9.0 rather  
than 2.9.2.

So could you please give step by step fool-proof instructions? (Right  
now, after fiddling, I can't launch R or JGR.)

Thanks,
Michael
On Sep 12, 2009, at 7:59 PM, Simon Urbanek wrote:

            
#
Hi Micahel,
On Sep 14, 2009, at 8:44 AM, Michael Kubovy wrote:

            
Look at this section:

Universal nightly builds for Mac OS X (10.4 Tiger and 10.5 Leopard)

For R-2.9.2, you want to look at the third row of that table:

R-2.9-branch
R 2.9.2 Patched (2009-09-05)

http://r.research.att.com/R-2.9-branch-leopard-universal.tar.gz

Note that this is NOT an installer, you have to untar the file and  
have it "inflate" at the root of your file system. The way to do that  
is explained immediately after that download/table listing:

"""Alternatively you can use the tar-ball (*.tar.gz) which must be  
unpacked in the root (e.g. tar fvxz R*.tar.gz -C /), but doesn't  
contain the GUI (see below for a separate download)."""
I don't know why he mentioned that, but if this is the case, look at  
the "Leopard Build" section, there is a *.pkg installer for 2.9.0

http://r.research.att.com/R-2.9.0.pkg
Downloading and installing one of the two R versions above will at  
least get R back up and running on your system (from the terminal, at  
least -- perhaps the *.pkg has the R.app gui installed too, I'm not  
certain).

If R is completely hosed, you might want to start by removing all  
current installs (/Library/Frameworks/R.framework) you have now to  
ensure everything is fresh and clean (but maybe not, up to you.).

-steve
--
Steve Lianoglou
Graduate Student: Computational Systems Biology
   |  Memorial Sloan-Kettering Cancer Center
   |  Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
#
Michael,
On Sep 14, 2009, at 8:44 , Michael Kubovy wrote:

            
On the above webpage it says:

"Leopard build" (available in 32-bit and 64-bit) and the Download is  
R-2.9.0.pkg. That is the installer for all-archs (32+64 bit) R 2.9.0 -  
and this is the option a) I was talking about and it's the option that  
doesn't assume you know what you're doing - it's simply the package  
installer as on CRAN.

Higher up it says "R-2.9-branch-leopard-universal.tar.gz" and in the  
table you can infer that it's R 2.9.2 patched (nightly build). This is  
the option b) which assumes you know how to unpack a tar ball manually:
sudo tar fxz R-2.9-branch-leopard-universal.tar.gz -C /

The reason I said take 2.9.0 was because it's the fool proof method.  
[I don't have an installer for 64-bit R 2.9.2 yet because it's not  
automated due to changes in the PM].
Please follow the instructions in the e-mail below - I was hoping   
they are fool proof :). Do you have any suggestions to make the R for  
Mac webpage more obvious?

Cheers,
Simon
#
Hi Prof Kubovy,
On Mon, Sep 14, 2009 at 9:10 PM, Michael Kubovy <kubovy at virginia.edu> wrote:

            
I've never installed JGR, so I'm not sure what's going on and that
message isn't really telling me much.

Is there any other messages (above or below) that can help diagnose this?

Perhaps it's something trivial w/ R+JGR, but I'm just not familiar with it.

-steve