[prev in list] [next in list] [prev in thread] [next in thread] 

List:       r-sig-mac
Subject:    Re: [R-SIG-Mac] Writing R package that calls Fortran on Mac os X El Capitan Error
From:       peter dalgaard <pdalgd () gmail ! com>
Date:       2016-06-16 21:27:04
Message-ID: 38296B2A-16C6-4EE9-82BC-3EA6095ACA8A () gmail ! com
[Download RAW message or body]


> On 16 Jun 2016, at 22:53 , Kodalore Vijayan, Vineetha W <vwkv13@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@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@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@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@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@r-project.org
> > > https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> > > 
> > > 
> > > 
> > 
> > 
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac@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@cbs.dk  Priv: PDalgd@gmail.com

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic