Dear list, I am trying to update a package to pass the CRAN-checks. But I am struggling with the following note: File 'psgp/libs/i386/psgp.dll': Found no calls to: 'R_registerRoutines', 'R_useDynamicSymbols' File 'psgp/libs/x64/psgp.dll': Found no calls to: 'R_registerRoutines', 'R_useDynamicSymbols' It is good practice to register native routines and to disable symbol search. I did already run: tools::package_native_routine_registration_skeleton(".") This gave me some code, including a function R_init_psgp, which includes calls to the functions above, and also the names of the C++ functions to be called from R. I first saved this code in registerDynamicSymbol.c and added .registration = TRUE to useDynLib in the NAMESPACE file. I still get the error above. As I saw that the file has different names in other packages, I have also tried to save it psgp_init.c, and in init.cpp, still with the same error message. I have read the relevant part of the R extensions manual, but could not find anything that could help me with this problem. I have had a look at the similar files in other packages (including one of my own, which works), and the initialization seems fine to me. There is surely something I have overlooked, is anyone able to give me a hint to where I might look? The code is in C++, not sure if that could have anything to do with the problem? Thanks, Jon
On Windows this warning may be a false positive if R cannot find "objdump.exe" which is required for this check. I think this is actually a bug in R because it should be looking for "objdump.exe" inside BINPREF (where gcc is) rather than on the PATH. Can you check if you get the same warning if you upload the package to https://win-builder.r-project.org ? On Fri, Feb 23, 2018 at 10:28 AM, <Jon.SKOIEN at ec.europa.eu> wrote:> Dear list, > > I am trying to update a package to pass the CRAN-checks. > But I am struggling with the following note: > > File 'psgp/libs/i386/psgp.dll': > Found no calls to: 'R_registerRoutines', 'R_useDynamicSymbols' > File 'psgp/libs/x64/psgp.dll': > Found no calls to: 'R_registerRoutines', 'R_useDynamicSymbols' > > It is good practice to register native routines and to disable symbol > search. > > > I did already run: > tools::package_native_routine_registration_skeleton(".") > This gave me some code, including a function R_init_psgp, which includes calls to the functions above, and also the names of the C++ functions to be called from R. > I first saved this code in registerDynamicSymbol.c and added .registration = TRUE to useDynLib in the NAMESPACE file. > I still get the error above. As I saw that the file has different names in other packages, I have also tried to save it psgp_init.c, and in init.cpp, still with the same error message. > > I have read the relevant part of the R extensions manual, but could not find anything that could help me with this problem. > I have had a look at the similar files in other packages (including one of my own, which works), and the initialization seems fine to me. > There is surely something I have overlooked, is anyone able to give me a hint to where I might look? The code is in C++, not sure if that could have anything to do with the problem? > > Thanks, > Jon > > > > > > > > > > > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
Thanks a lot for your answer Jeroen! I should have mentioned that I had actually only checked with the win-builder, as I did not have R-devel installed on my computer. But based on your answer I installed R-devel locally on a Linux-server (Redhat), and the package could be checked without the NOTE. So you might be right that this is a windows issue. However, another package that I am maintaining does not get any notes from the check on the win-builder (including fortran-code), so there is still something I don't understand here. Anyway, does this mean that the package might be accepted on CRAN without further changes? Thanks, Jon ________________________________________ From: Jeroen Ooms [jeroenooms at gmail.com] Sent: 23 February 2018 13:36 To: SKOIEN Jon (JRC-ISPRA) Cc: r-devel Subject: Re: [Rd] Problem with R_registerRoutines On Windows this warning may be a false positive if R cannot find "objdump.exe" which is required for this check. I think this is actually a bug in R because it should be looking for "objdump.exe" inside BINPREF (where gcc is) rather than on the PATH. Can you check if you get the same warning if you upload the package to https://win-builder.r-project.org ? On Fri, Feb 23, 2018 at 10:28 AM, <Jon.SKOIEN at ec.europa.eu> wrote:> Dear list, > > I am trying to update a package to pass the CRAN-checks. > But I am struggling with the following note: > > File 'psgp/libs/i386/psgp.dll': > Found no calls to: 'R_registerRoutines', 'R_useDynamicSymbols' > File 'psgp/libs/x64/psgp.dll': > Found no calls to: 'R_registerRoutines', 'R_useDynamicSymbols' > > It is good practice to register native routines and to disable symbol > search. > > > I did already run: > tools::package_native_routine_registration_skeleton(".") > This gave me some code, including a function R_init_psgp, which includes calls to the functions above, and also the names of the C++ functions to be called from R. > I first saved this code in registerDynamicSymbol.c and added .registration = TRUE to useDynLib in the NAMESPACE file. > I still get the error above. As I saw that the file has different names in other packages, I have also tried to save it psgp_init.c, and in init.cpp, still with the same error message. > > I have read the relevant part of the R extensions manual, but could not find anything that could help me with this problem. > I have had a look at the similar files in other packages (including one of my own, which works), and the initialization seems fine to me. > There is surely something I have overlooked, is anyone able to give me a hint to where I might look? The code is in C++, not sure if that could have anything to do with the problem? > > Thanks, > Jon > > > > > > > > > > > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel