Re: [Rd] problem running dll in R

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Mon, 25 Aug 2008 14:13:37 -0400

On 8/25/2008 11:45 AM, rcoder wrote:
> Hi Duncan,
>
> Thanks for your reply. Would you know of a code + compiler combination that
> works in R, so I can get a feel for the process?

Sure, the MinGW compilers in the Rtools should be fine. You get them from www.murdoch-sutherland.com/Rtools. With those, building a DLL is simply

R CMD SHLIB source.f

Duncan Murdoch

>
> Thanks,
>
> rcoder
>
>
>
> Duncan Murdoch-2 wrote:
>>
>> On 23/08/2008 8:44 PM, rcoder wrote:
>>> Hi everyone,
>>>
>>> I've created a dll for a fortran subroutine, and when I call the
>>> subroutine
>>> in R (via a wrapped function) a standard program shutdown windows error
>>> prompt immediately pops up: the program has encountered a problem and
>>> needs
>>> to be shut down... send message / don't send message to MS... etc.
>>>
>>> When I click "Don't send", the R consol does not then shut down, and
>>> appears
>>> to continue to execute, and task manager does not indicate "not
>>> responding".
>>> The problem is the execution takes too long, and I think the program is
>>> just
>>> hanging rather than executing. I have tested with different fortran code,
>>> and the same thing happens, so I don't think it is anything to do with
>>> that
>>> side of things.
>>>
>>> I created fortran code in a text editor, compiled using Plato3 IDE, then
>>> converted the file into a dll using gFortran. I place the dll in the R
>>> directory and it load in the console. The problem seems to occur when
>>> defining the data types in R, for the variables in the fortran routine.
>>>
>>> I was just wondering if anyone has experienced anything similar when
>>> trying
>>> to call fortran subroutines in R?
>>
>> I haven't seen that, and haven't used that particular compiler, but it
>> has the symptoms of a mismatch in calling conventions. Does your
>> compiler pass arguments in registers? R uses what Windows calls the
>> cdecl calling convention in external calls.
>>
>> Some old advice on using non-standard compilers is available here:
>>
>> http://www.stats.uwo.ca/faculty/murdoch/software/compilingDLLs
>>
>> I haven't updated it in a few years, but I think it is still current.
>>
>> Duncan Murdoch
>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Mon 25 Aug 2008 - 18:22:26 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 25 Aug 2008 - 18:37:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive