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.

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

	[[alternative HTML version deleted]]

