Thanks Jari and Berend. I was not aware of that function. I do use it : indeed it may extern declarations for Fortran routines. see https://r-forge.r-project.org/scm/viewvc.php/pkg/randtoolbox/src/init.c?view=markup&root=rmetrics <https://r-forge.r-project.org/scm/viewvc.php/pkg/randtoolbox/src/init.c?view=markup&root=rmetrics>
However I get a new error when building Error: package or namespace load failed for ‘randtoolbox’ in dyn.load(file, DLLpath = DLLpath, ...): impossible de charger l'objet partagé '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/randtoolbox/libs/randtoolbox.so': dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/randtoolbox/libs/randtoolbox.so, 6): Symbol not found: _halton_f_ Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/randtoolbox/libs/randtoolbox.so Expected in: flat namespace in /Library/Frameworks/R.framework/Versions/3.4/Resources/library/randtoolbox/libs/randtoolbox.so Erreur : le chargement a échoué Exécution arrêtée ERROR: loading failed Note that I change the name of Fortran routines to halton_f and sobol_f to avoid conflict with C version also renamed halton_c and sobol_c. In the NAMESPACE, I put at the top useDynLib(randtoolbox, .registration = TRUE). Berend, I do look at your package… I still don’t figure out why it works for you! Regards, Christophe --------------------------------------- Christophe Dutang LMM, UdM, Le Mans, France web: http://dutangc.free.fr <http://dutangc.free.fr/> > Le 10 mai 2017 à 08:56, Jari Oksanen <jari.oksa...@oulu.fi> a écrit : > > Have you tried using tools:::package_native_routine_registration_skeleton()? > If you don't like its output, you can easily edit its results and still avoid > most pitfalls. > > Cheers, Jari Oksanen > ________________________________________ > From: R-devel <r-devel-boun...@r-project.org> on behalf of Berend Hasselman > <b...@xs4all.nl> > Sent: 10 May 2017 09:48 > To: Christophe Dutang > Cc: r-devel@r-project.org > Subject: Re: [Rd] registering Fortran routines in R packages > > Christophe, > >> On 10 May 2017, at 08:08, Christophe Dutang <duta...@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? > > > Berend > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel