[Rd] registering Fortran routines in R packages
Berend Hasselman
bhh at xs4all.nl
Wed May 10 08:58:47 CEST 2017
> On 10 May 2017, at 08:48, Berend Hasselman <bhh at xs4all.nl> wrote:
>
> Christophe,
>
>> On 10 May 2017, at 08:08, Christophe Dutang <dutangc at gmail.com> wrote:
>>
>> Thanks for your email.
>>
>> I try to change the name in lowercase but it conflicts with a C implementation also named halton. So I rename the C function halton2() and sobol2() while the Fortran function are HALTON() and SOBOL() (I also try lower case in the Fortran code). Unfortunately, it does not help since I get
>>
>> init.c:97:25: error: use of undeclared identifier 'halton_'; did you mean 'halton2'?
>> {"halton", (DL_FUNC) &F77_SUB(halton), 7},
>>
>> My current solution is to comment FortEntries array and use R_useDynamicSymbols(dll, TRUE) for a dynamic search of Fortran routines.
>
> Have a look at my package geigen and its init.c.
> Could it be that you are missing extern declarations for the Fortran routines?
I ran a development version of R some time ago with this
tools:::package_native_routine_registration_skeleton("geigen",con="./geigen_report.txt")
to generate a skeleton init.c. I used that without modification.
Berend
More information about the R-devel
mailing list