[R-SIG-Mac] Writing R package that calls Fortran on Mac os X El Capitan Error

Eduardo M. A. M.Mendes emammendes at gmail.com
Thu Jun 16 23:04:08 CEST 2016


Since I am not an expert on writing R extensions (although I have lots of old and new fortran source codes linked to R), my guess is that R only calls the library named after package.  You have useDynLib twice.

You are welcome.

Please update the thread in R-List in case someone there is interested in the answer.



> On Jun 16, 2016, at 5:53 PM, Kodalore Vijayan, Vineetha W <vwkv13 at mun.ca> wrote:
> 
> Perfect! Its working now. Thanks a lot for your patience and help.
> 
> Just curious, what did I do wrong in the previous case?
> 
> -Vineetha
> 
> On Thu, Jun 16, 2016 at 2:48 PM, Eduardo M. A. M.Mendes <emammendes at gmail.com <mailto:emammendes at gmail.com>> wrote:
> Please rename your NAMESPACE to something else and create a new one with
> 
> useDynLib(NEpidemic,.registration = TRUE)
> export(randomepi)
> 
> It is worth a try.
> 
>> On Jun 16, 2016, at 5:40 PM, Kodalore Vijayan, Vineetha W <vwkv13 at mun.ca <mailto:vwkv13 at mun.ca>> wrote:
>> 
>>  Yes. My package name is "Epidemic" and namespace contains the following:
>> 
>> useDynLib(randomepi)
>> useDynLib(Nepidemic, .registration = TRUE)
>> 
>> exportPattern("^[[:alpha:]]+")
>> export(randomepi)
>> import(graphics,grDevices,stats, utils)
>> 
>> 
>> I could see Nepidemic.so and randomepi.o files in the src folder.
>> 
>> -V
>> 
>> 
>> 
>> 
>> On Thu, Jun 16, 2016 at 2:28 PM, Eduardo M. A. M.Mendes <emammendes at gmail.com <mailto:emammendes at gmail.com>> wrote:
>> Dear Vennetha
>> 
>> I am running R on a mac too. 
>> 
>> Please see if my comments below helps.
>> 
>> 
>>> On Jun 16, 2016, at 5:00 PM, Kodalore Vijayan, Vineetha W <vwkv13 at mun.ca <mailto:vwkv13 at mun.ca>> wrote:
>>> 
>>> I'm trying to write an R package that calls a Fortran subroutine on my  Mac
>>> os x El Capitan with Xcode 7 and gfortran 6.1, R 3.3.0.
>>> 
>>> I couldn't  build the library with my current namespace commands.
>>> I get the following error:
>>> 
>>> 
>>> * installing *source* package ‘Nepidemic’ ...
>>> ** libs
>>> gfortran  -fPIC -Wall -g -O2  -c  randomepi.f95 -o randomepi.o
>>> gfortran -dynamiclib -Wl,-headerpad_max_install_names -undefined
>>> dynamic_lookup -single_module -multiply_defined suppress
>>> -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o
>>> Nepidemic.so randomepi.o -F/Library/Frameworks/R.framework/.. -framework R
>>> -Wl,-framework -Wl,CoreFoundation
>> 
>> The name of the library created by r cmd shlib is Nepidemic.so.
>> 
>>> installing to
>>> /Users/Vineetha/myrlibrary/myrpackages/Nepidemic.Rcheck/Nepidemic/libs
>>> ** R
>>> ** preparing package for lazy loading
>>> ** help
>>> *** installing help indices
>>> ** building package indices
>>> ** testing if installed package can be loaded
>>> Error in library.dynam(lib, package, package.lib) :
>>>  shared object ‘randomepi.so’ not found
>> 
>> Note that the r cmd check is looking for randomepi.so so it means that it is calling the wrong library (it should be Nepidemic.so).  Are you sure that the NAMESPACE contains the following lines?
>> 
>> useDynLib(NEpidemic,.registration = TRUE)
>> export(randomepi)
>> 
>> in all the examples I have those lines would suffice.
>> 
>>> Error: loading failed
>>> Execution halted
>>> ERROR: loading failed
>>> * removing
>>> ‘/Users/Vineetha/myrlibrary/myrpackages/Nepidemic.Rcheck/Nepidemic’
>>> 
>>> 
>>> My package name is "NEpidemic" and source code file in src folder is
>>> "randomepi.f95"
>>> 
>>> Any help would be much appreciated. I'm vey new to both R
>>> and Fortran coding, especially in package building.
>>> 
>>> Thanks in advance!
>>> Vineetha
>>> 
>>> 	[[alternative HTML version deleted]]
>>> 
>>> _______________________________________________
>>> R-SIG-Mac mailing list
>>> R-SIG-Mac at r-project.org <mailto:R-SIG-Mac at r-project.org>
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac <https://stat.ethz.ch/mailman/listinfo/r-sig-mac>
>> 
> 
> 


	[[alternative HTML version deleted]]



More information about the R-SIG-Mac mailing list