[R-SIG-Mac] Installing or Compiling EDGE

Morri Feldman morrifeldman at weizmann.ac.il
Tue Oct 11 13:14:52 CEST 2011


Hello,

I hope this is an appropriate mailing list for my question.  If not,
please excuse me and point me towards another forum if possible.
Also, I apologize if this message is a double post, because the first
version I sent was in HTML.

I'm trying to install a microarray analysis software package called
EDGE which relies on R.  The package is available as binaries or
source code from http://www.genomine.org/edge/ .  I'm using R from
R-2.13.2.pkg, and tcltk-8.5.5-x11.dmg.  I am running OSX Lion and when
I tried to install the binaries from edge_intel_1.1.290.tar.tar.gz, I
had several failures.  After working through some trivial problems I
found out that knnimpute.so, one of the two precompiled binaries in
this package, is for PPC not intel.

Next, I decided to try and compile the package myself.  I installed
Xcode Version 4.1 (4B103), MacTeX-2011.mpkg and
gfortran-lion-5666-3.pkg.  After cd to the src/ directory I run make
and get the following error.

**********************************
g++-4.2 -arch x86_64
-I/Library/Frameworks/R.framework/Resources/include
-I/Library/Frameworks/R.framework/Resources/include/x86_64
-I/usr/local/include   -DMAC_OS_X -Dassert\(expr\)= -fPIC
-I/Library/Frameworks/R.framework/Resources -I./threads -I./cluster
-I/Library/Frameworks/R.framework/Resources/include -I.
-DEDGE_LIBRARY_VERSION=\"1.0.\"  -D__STDC_LIMIT_MACROS -Wall -fPIC  -g
-O2 -c Rintf_threads.cpp -o Rintf_threads.o
Rintf_threads.cpp: In function ‘SEXPREC* GetProgressValues(SEXPREC*)’:
Rintf_threads.cpp:66: error: cast from ‘_opaque_pthread_t*’ to ‘int’
loses precision
make[2]: *** [Rintf_threads.o] Error 1
build failed
make[1]: *** [edge.so] Error 1
make: *** [all] Error 2
**********************************

The relevant section of code in Rintf_threads.ccp is:

**********************************
    PROTECT(sval=NEW_INTEGER(1));
    INTEGER_POINTER(sval)[0] = (int)ppt->GetThreadId();  // This line
is the problem
    SET_STRING_ELT(snames, i, CREATE_STRING_VECTOR("threadid"));
    SET_VECTOR_ELT(slist, i, sval);
    i++;
**********************************

This same construction, converting THREAD_ID_T to int, is also used at
line 525 of RInterfaces.cpp and line 179 of Rintf_cluster.cpp.

My guess is that the problem is caused by compiling as x86_64, but I
can't figure out how to edit the Makefile to force compilation as
i386.  I've contacted one of the authors of the software, but they
haven't gotten back to me yet.  I will greatly appreciate any help you
can provide.

Best and Thank You,
Morri Feldman



More information about the R-SIG-Mac mailing list