[R-pkg-devel] Package submission rejected as it fails checks on Debian
Dear R-developers, I apologize for posting something that has probably been discussed before (but missed it while searching the archives). While trying to submit a newer version of my package to CRAN, it is rejected as it fails on Debian. I will call this package APACKAGE below (although it is named differently). It has passed all checks on my Windows system (no errors or warnings). The package (for many versions now) is configured as follows: Imports:Rcpp , methods LinkingTo: Rcpp Suggests: R.rsp The previous version of the package (already on CRAN) shows no errors on CRAN checks, only NOTES for some platforms. Interestingly, a couple of days ago I checked the CRAN checks and noticed that this exact (previous) version of the package had one ERROR indicated, occurring in some Debian flavor (r-devel-linux-x86_64-debian-gcc, if I remember correctly). I changed nothing, but now it shows no errors for all platforms (including Debian). Now I am trying to submit a newer version and it not accepted as it fails on Debian. Checking the log I see no syntax errors or warnings. ** testing if installed package can be loaded from temporary location Error: package or namespace load failed for ‘APACKAGE’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object ‘/srv/hornik/tmp/CRAN/APACKAGE.Rcheck/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so’: /srv/hornik/tmp/CRAN/APACKAGE.Rcheck/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so: undefined symbol: _ZTIN6nnlib25layerE Error: loading failed. I tried the R-Hub builder and it also fails for Platform Debian Linux, R-devel, GCC. The process goes fine until the following: Error: package or namespace load failed for ‘APACKAGE’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/home/docker/R/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so': /home/docker/R/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so: undefined symbol: _ZTIN6nnlib25layerE Error: loading failed Execution halted ERROR: loading failed * removing ‘/home/docker/R/APACKAGE’ Warning message: In i.p(...) : installation of package ‘/tmp/Rtmp7eBDvE/file1377f5861e3/APACKAGE_0.2.0.tar.gz’ had non-zero exit status It maybe something obvious, but I really cannot think of what else to try to fix this issue. Any help will be greatly appreciated. __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Package submission rejected as it fails checks on Debian
Hello Spencer and thank you for your reply. This is a good point as the package is indeed on GitHub, so I will investigate it. But, like you pointed out, it is doubtful if testing on these other systems (including Ubuntu) will catch a problem that is reported on Debian. And what causes it seems even more of a mystery to me. Thanks again. V. Στις 2023-02-20 20:52, Spencer Graves έγραψε: Hi, Vasileios: Do you have it on GitHub? If yes, do you use "GitHub Action" to test the package on multiple platforms? I'm a contributor to the "fda" package. It's version on GitHub is configured so every "git push" triggers auto tests on five different platforms, testing it against the current "release" version of R on the latest versions of macOS, Windows and Ubuntu plus the development and previous release on Ubuntu.[1] I don't know if GitHub action would support testing under Debian nor if testing under Ubuntu would catch the problem that CRAN is catching on Debian. However, having the package on GitHub also makes it easier for someone else to clone the package and test it it for you ;-) This community of R developers provides very valuable support for problems like this. Hope this help. Spencer Graves [1]https://github.com/JamesRamsay5/fda/blob/master/.github/workflows/R-CMD-check.yaml On 2/20/23 6:38 AM, Vasileios Nikolaidis wrote: Dear R-developers, I apologize for posting something that has probably been discussed before (but missed it while searching the archives). While trying to submit a newer version of my package to CRAN, it is rejected as it fails on Debian. I will call this package APACKAGE below (although it is named differently). It has passed all checks on my Windows system (no errors or warnings). The package (for many versions now) is configured as follows: Imports: Rcpp , methods LinkingTo: Rcpp Suggests: R.rsp The previous version of the package (already on CRAN) shows no errors on CRAN checks, only NOTES for some platforms. Interestingly, a couple of days ago I checked the CRAN checks and noticed that this exact (previous) version of the package had one ERROR indicated, occurring in some Debian flavor (r-devel-linux-x86_64-debian-gcc, if I remember correctly). I changed nothing, but now it shows no errors for all platforms (including Debian). Now I am trying to submit a newer version and it not accepted as it fails on Debian. Checking the log I see no syntax errors or warnings. ** testing if installed package can be loaded from temporary location Error: package or namespace load failed for ‘APACKAGE’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object ‘/srv/hornik/tmp/CRAN/APACKAGE.Rcheck/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so’: /srv/hornik/tmp/CRAN/APACKAGE.Rcheck/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so: undefined symbol: _ZTIN6nnlib25layerE Error: loading failed. I tried the R-Hub builder and it also fails for Platform Debian Linux, R-devel, GCC. The process goes fine until the following: Error: package or namespace load failed for ‘APACKAGE’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/home/docker/R/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so': /home/docker/R/00LOCK-APACKAGE/00new/APACKAGE/libs/APACKAGE.so: undefined symbol: _ZTIN6nnlib25layerE Error: loading failed Execution halted ERROR: loading failed * removing ‘/home/docker/R/APACKAGE’ Warning message: In i.p(...) : installation of package ‘/tmp/Rtmp7eBDvE/file1377f5861e3/APACKAGE_0.2.0.tar.gz’ had non-zero exit status It maybe something obvious, but I really cannot think of what else to try to fix this issue. Any help will be greatly appreciated. __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Package submission rejected as it fails checks on Debian
Oh yes thank you. I just realized I did not mention the repo on my previous reply. It is https://github.com/VNNikolaidis/nnlib2Rcpp Στις 2023-02-20 21:23, Dirk Eddelbuettel έγραψε: Can you share the repo URL? It may be a a fairly simple and standard issue some of us can spot easily. Hth, Dirk __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Package submission rejected as it fails checks on Debian
Thanks for taking the time to check it. The hint about the virtual 'layer' class is valuable. I will look into it. Best Regards, V.Nikolaidis PS I am tempted to set up a Debian test platform to speed up fixing the package. (Or abandon submitting the package to CRAN alltogether.) Στις 2023-02-20 22:06, Dirk Eddelbuettel έγραψε: On 20 February 2023 at 21:41, Vasileios Nikolaidis wrote: | Oh yes thank you. I just realized I did not mention the repo on my | previous reply. It is | https://github.com/VNNikolaidis/nnlib2Rcpp Thanks for that -- I can confirm the error. The packages compiles all source files without issue or warnings (under my default flags), links and then fails to load with the error you reported: ** testing if installed package can be loaded from temporary location Error: package or namespace load failed for ‘nnlib2Rcpp’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/tmp/rcpp/lib/00LOCK-nnlib2Rcpp/00new/nnlib2Rcpp/libs/nnlib2Rcpp.so': /tmp/rcpp/lib/00LOCK-nnlib2Rcpp/00new/nnlib2Rcpp/libs/nnlib2Rcpp.so: undefined symbol: _ZTIN6nnlib25layerE Error: loading failed Execution halted ERROR: loading failed Now, `c++filt` on that symbol reveals $ c++filt _ZTIN6nnlib25layerE typeinfo for nnlib2::layer $ and a glance at your header nnlib2::layer reveals that the class is virtual. I don't have time right to do more digging but if I had to guess you may have a slip up somewhere in your classes: something that worked beforehand with your virtual (abstract) classes and derived (concrete) classes now seems to want an concrete instance of 'layer'. And if I had to guess some more the reason this works in Windows is that the linker there is more lenient. Maybe you can try an earlier version of nnlib2Rcpp and then bisect the changes. rhub gives you (fairly) easy access to Linux machines for builds outside of your main Windows machine. Sorry I cannot be of more help right now. Dirk __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Package submission rejected as it fails checks on Debian
Yes, with all this I can think where I may have messed up. So thanks for the help, at least it verified it is indeed an issue with the code. As far as OSs, I use Ubuntu variants a lot and (on several machines) but these days I have easier access to Windows (with WSL2 btw). I also like a strict compiler (and linker), there is usually a reason why they are strict. So if it is not obvious from examining the code, I will set up something (be it WSL, VM or Docker) for testing. Thanks again, Vasilis Στις 2023-02-20 23:09, Dirk Eddelbuettel έγραψε: On 20 February 2023 at 22:37, Vasileios Nikolaidis wrote: | Thanks for taking the time to check it. The hint about the virtual | 'layer' class is valuable. | I will look into it. Sounds good, glad to have been of assistance. On a lark, I also tried your most recent CRAN release, and it installs and loads fine here. | PS I am tempted to set up a Debian test platform to speed up fixing the | package. | (Or abandon submitting the package to CRAN alltogether.) I love working on Linux. And these days I hear from some friends that having WSL2 on a (recent enough) Windows computer is also good as it effectively gives a second machine with Ubuntu on it. Docker can also be helpful, as are the online resources -- rhub has helped me with both macos and windows builds. Dirk __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Package submission rejected as it fails checks on Debian
I will try it the "Github Action" it seems very useful indeed. I already found the (extremely obvious and tiny) error that caused all this mess. I am surprised the compile/link system on my Windows machine passed on that without reporting anything. That really threw me off on what the cause may be. Getting back on Linux for development and checks (like I used to use and trust). Problem solved, moral of the story is never code tired, and use all tools available. Thank you everyone for your comments and help. Regards, Vasilis. Στις 2023-02-21 13:25, Spencer Graves έγραψε: On 2/21/23 2:34 AM, Vasileios Nikolaidis wrote: Yes, with all this I can think where I may have messed up. So thanks for the help, at least it verified it is indeed an issue with the code. As far as OSs, I use Ubuntu variants a lot and (on several machines) but these days I have easier access to Windows (with WSL2 btw). I also like a strict compiler (and linker), there is usually a reason why they are strict. So if it is not obvious from examining the code, I will set up something (be it WSL, VM or Docker) for testing. If you have NOT tried "GitHub Action" yet, I highly recommend it. For my packages, every time I do "git push", it automatically runs "R CMD build / check" on 5 different platforms -- with no further effort on my part other than checking the results. It should be easy to get something to work following the instructions in Wickham and Bryan, R Packages[1] or copying the code from another package.[2] If that fails, you might be able to get help from this list. I got valuable suggestions from Dir Eddelbuettel and Duncan Murdoch. I don't know if any version of Debian is available on GitHub Action. However, if CRAN is rejecting your package on GitHub Action, a question about that to this list might help make it available. If you have special Ubuntu configuration issues that are not provided in the standard GitHub Action configurations, asking here might help you with that. Hope this helps, Spencer Graves [1] https://r-pkgs.org [2] e.g., https://github.com/JamesRamsay5/fda Thanks again, Vasilis Στις 2023-02-20 23:09, Dirk Eddelbuettel έγραψε: On 20 February 2023 at 22:37, Vasileios Nikolaidis wrote: | Thanks for taking the time to check it. The hint about the virtual | 'layer' class is valuable. | I will look into it. Sounds good, glad to have been of assistance. On a lark, I also tried your most recent CRAN release, and it installs and loads fine here. | PS I am tempted to set up a Debian test platform to speed up fixing the | package. | (Or abandon submitting the package to CRAN alltogether.) I love working on Linux. And these days I hear from some friends that having WSL2 on a (recent enough) Windows computer is also good as it effectively gives a second machine with Ubuntu on it. Docker can also be helpful, as are the online resources -- rhub has helped me with both macos and windows builds. Dirk __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel