SOLVED: [R] Rcmd SHLIB in rw1031 (R for Win)

Agustin Lobo alobo at ija.csic.es
Fri Oct 19 10:56:21 CEST 2001


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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list