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

peter dalgaard pdalgd at gmail.com
Thu Jun 16 23:27:04 CEST 2016


> On 16 Jun 2016, at 22:53 , 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?
> 

Tried to use a dynamic library that wasn't there:

>> useDynLib(randomepi)


but you never built a randomepi.so. You built randomepi.o, but that is an object file not a dynamic library. It was eventually linked into Nepidemic.so, which is the thing that you do want to useDynLib() on.

-pd

(Incidentally, watch your casing, you use "Nepidemic" and "NEpidemic" every other time. Sooner or later you'll find yourself in a situation where the case actually matters and gives you a mysterious malfunction.)

> -Vineetha
> 
> On Thu, Jun 16, 2016 at 2:48 PM, Eduardo M. A. M.Mendes <
> 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>
>> 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> 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>
>>> 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
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>> 
>>> 
>>> 
>> 
>> 
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-SIG-Mac mailing list