Re: [R] Compiling a FORTRAN program under Windows 7

2011-05-05 Thread Berend Hasselman

Mikael Anderson wrote:
> 
> Hi,
> 
> I am trying to compile a FORTRAN program to call from R under Windows 7
> but
> I am having problem in the compiling step. To demonstrate this is the
> program testit.f:
> 
> --
>   subroutine TESTIT(x,n,m)
>   dimension x(n)
>   do 10 i=1,n
> 10  x(i)=x(i)**m
>   end
> 
> 
> 

In addition to the previous remarks, you would do yourself a favour by
utilizing the implicit-none option of gfortran. That will force you to
declare every variable (and its type) which will avoid many nasty bugs.
In your case: x is a REAL single precision but with R you will preferably
need double precision.
So I would advise you to use

gfortran -fimplicit-none ..

Berend

--
View this message in context: 
http://r.789695.n4.nabble.com/Compiling-a-FORTRAN-program-under-Windows-7-tp3498663p3498839.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Compiling a FORTRAN program under Windows 7

2011-05-05 Thread Clint Bowman
You are compiling a subroutine not a program and you compile line 
should read:


gfortran testit.f -c testit.o

You then reference that object code testit.o in your final loading 
stage after compiling other routiens and the main program.


--
Clint BowmanINTERNET:   cl...@ecy.wa.gov
Air Quality Modeler INTERNET:   cl...@math.utah.edu
Department of Ecology   VOICE:  (360) 407-6815
PO Box 47600FAX:(360) 407-7534
Olympia, WA 98504-7600


USPS:   PO Box 47600, Olympia, WA 98504-7600
Parcels:300 Desmond Drive, Lacey, WA 98503-1274


On Thu, 5 May 2011, Mikael Anderson wrote:


Hi,

I am trying to compile a FORTRAN program to call from R under Windows 7 but
I am having problem in the compiling step. To demonstrate this is the
program testit.f:

--
 subroutine TESTIT(x,n,m)
 dimension x(n)
 do 10 i=1,n
10  x(i)=x(i)**m
 end


When I compile it with gfortran I get the following error:

--
c:\MinGW\programs>gfortran testit.f -o testit.o
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../libmingw32.a(main.o):main.c:(.tex
t+0xd2): undefined reference to `WinMain@16'
collect2: ld returned 1 exit status.


I should add that a program like the following hello.f compiles with no
problem.

--
READ (*, *) YOURNAME
WRITE (*, 200) YOURNAME
200 FORMAT(//,' Hello ',A/)
STOP
END
--

I realize that this is not directly a question about R but I guess there are
some people here who have compiled FORTRAN programs under Windows 7 to call
from R. I appreciate any help to fix the problem.

/Mikael

[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.