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