[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