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 <[email protected]> > 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 <[email protected] > <mailto:[email protected]>> 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 <[email protected] >> <mailto:[email protected]>> 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 >> <[email protected] <mailto:[email protected]>> 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 <[email protected] >>> <mailto:[email protected]>> 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 >>> [email protected] <mailto:[email protected]> >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac >>> <https://stat.ethz.ch/mailman/listinfo/r-sig-mac> >> > > [[alternative HTML version deleted]] _______________________________________________ R-SIG-Mac mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-mac
