SOLVED: [R] Rcmd SHLIB in rw1031 (R for Win)
I had one missing directory in my path. mingw-1-1-tar.gz contains 2 "bin" directories. I used tar zxvf MinGW-1.1.tar.gz from directory rw1031/Rwint and got a rw1031/Rwint/bin directory (which I did include in my path), but also another rw1031/Rwint/mingw32/bin (which I had not seen). I also have included E:\rw1031 and E:\rw1031\bin in my path, but it seems to me that the missing rw1031/Rwint/mingw32/bin was the cause of the problem. Thanks! Dr. Agustin Lobo Instituto de Ciencias de la Tierra (CSIC) Lluis Sole Sabaris s/n 08028 Barcelona SPAIN tel 34 93409 5410 fax 34 93411 0012 alobo at ija.csic.es
On Thu, 18 Oct 2001, Agustin Lobo wrote:
Thanks for the answers on readme.packages. I have installed Rw1031 from SetupR.exe including the option for compiling source files and, following directions in www.stats.ox.ac.ul/pub/Rtools, have installed: -tools.zip -Perl (Active Perl) -mingw-1.1.tar.gz -copied sh.exe to c:\bin\sh.exe After Perl installation, its directory is added to my path. I have also added the directory where the R tools live, as well as the bin for mingw. My path looks like: PATH=E:\PERL\BIN;E:\RW1031\RWINT;E:\RW1031\RWINT\BIN;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\DOS;D:\;C:\UTILES\ULTRAEDT;C:\GZIP;C:\PROGRA~1\PATHFI~1.70; Then I've tried to compile and build a dll for a C program (test.c) that works fine in the R version for Linux. I do: E:\rw1031\bin>Rcmd SHLIB e:/Rseg/test.c make[1]: `libR.a' is up to date. ------- Building e:/Rseg/test.dll from e:/Rseg/test.a -------- echo LIBRARY e:/Rseg/test > e:/Rseg/test.def echo EXPORTS >> e:/Rseg/test.def nm e:/Rseg/test.a > Defs sed -n '/^........ [BCDRT] _/s/^........ [BCDRT] _/ /p' Defs >> e:/Rseg/test.def rm -f Defs gcc --shared -s -o e:/Rseg/test.dll e:/Rseg/test.def e:/Rseg/test.a -LE:/RW10 31/src/gnuwin32 -lg2c -lR E:\rw1031\bin>Rcmd SHLIB e:/Rseg/test.c dlltool -k --as as --dllname R.dll --def R.exp --output-lib libR.a gcc -IE:/RW1031/src/include -include E:/RW1031/src/include/globalvar.h -Wall -O2 -c e:/Rseg/test.c -o e:/Rseg/test.o e:/Rseg/test.c:78: warning: `/*' within comment e:/Rseg/test.c: In function `printListElement': e:/Rseg/test.c:15: warning: unused variable `prova2' e:/Rseg/test.c:15: warning: unused variable `prova' e:/Rseg/test.c:14: warning: unused variable `s3' e:/Rseg/test.c:14: warning: unused variable `s2' e:/Rseg/test.c:14: warning: unused variable `s1' e:/Rseg/test.c:14: warning: unused variable `g3' e:/Rseg/test.c:14: warning: unused variable `g2' e:/Rseg/test.c:14: warning: unused variable `g1' e:/Rseg/test.c:9: warning: unused variable `names' rm -f -f e:/Rseg/test.a ar cr e:/Rseg/test.a *.o e:\RW1031\RWINT\BIN\ar.exe: *.o: No such file or directory make: *** [e:/Rseg/test.a] Error 1 I've checked, and ar.exe is in e:\RW1031\RWINT\BIN ...and test.a in e:/Rseg/ If I repeat, the process starts from test.a: E:\rw1031\bin>Rcmd SHLIB e:/Rseg/test.c make[1]: `libR.a' is up to date. ------- Building e:/Rseg/test.dll from e:/Rseg/test.a -------- echo LIBRARY e:/Rseg/test > e:/Rseg/test.def echo EXPORTS >> e:/Rseg/test.def nm e:/Rseg/test.a > Defs sed -n '/^........ [BCDRT] _/s/^........ [BCDRT] _/ /p' Defs >> e:/Rseg/test.def rm -f Defs gcc --shared -s -o e:/Rseg/test.dll e:/Rseg/test.def e:/Rseg/test.a -LE:/RW10 31/src/gnuwin32 -lg2c -lR Apparentely, all good. But, from R:
dyn.load("test.dll")
a <- segmentaF2001.new3(test5.stat,test5.ady)
ITERACION: 1Error in .Call("printListElement", lista, t(stat), ncol(stat),
nrow(stat)) :
.Call function name not in load table
Timing stopped at: NA NA 0.11 NA NA
The same code works fine under Linux. Does anyone see where is the problem? Thanks Agus Dr. Agustin Lobo Instituto de Ciencias de la Tierra (CSIC) Lluis Sole Sabaris s/n 08028 Barcelona SPAIN tel 34 93409 5410 fax 34 93411 0012 alobo at ija.csic.es -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._