A few quick comments: * I don't think the limit was hardened in R 3.4.0; maybe you started to experience it sound then because more dependent packages started to rely on more DLLs?
* The limit is OS/platform specific so it's not that R core is unwilling to fix this - I think they havejust tried to find a safe limit that work everywhere. Having said this... * It'll be less restrictive by default in R 3.5.0: from it's NEWS "The maximum number of DLLs that can be loaded into R e.g. via dyn.load() has been increased up to 614 when the OS limit on the number of open files allows" * R.utils::gcDLLs() will attempt to unregister possibly stray DLLs remaining after unloading packages. So unloading packages and gcDLLs() may provide you with a workaround until R 3.5.0 is in place (possibly also even after). See https://github.com/HenrikBengtsson/Wishlist-for-R/issues/29 for "random" notes and references to this problem. On Wed, Mar 21, 2018, 04:10 Yuan Tian <tianyuan1991...@gmail.com> wrote: > Hello Guys: > > I encountered an error like "maximal number of dlls reached...". I am > maintaining ChAMP package now, which integrated many other packages in my > research field. I have not updated this package in past 2 months but > suddenly this error happens. > > Currently, I think I know the reason is since R 3.4.X, numbers of DLLs in > default R session was set 100. I have tested that using a newly started R > 3.4.4 to install and load ChAMP package, *it works smoothly*, after > loading, I checked DLL loaded with function getLoadedDLLs(), then I see > ChAMP used 95 Dlls. I know it's a lot, but some of them are loaded by > ChAMP's relying packages but itself. *However, ChAMP cannot pass > Bioconductor check, thus I suspect Bioconductor checking system does NOT > start a new R session for each package right? Which means it's not 100 DLLs > allocated for each package?* > > Currently, I have told my users to modify R environment to allow their R > session with more DLLs. It works but only on users computer, not > Bioconductor checking system. Thus I think I have to reduce dlls used by > current package right? Like removing some relying packages or function. *My > another question is how many DLLs is allowed by Bioconductor check? I think > it's less than 100. But I don't know I should cut it into 80 or 60 or even > 50 dlls used.* > > It's really disappointing that I need to modify quite a lot of code, and > even could hurt some key functionality of the package. Thus here I am > seeking your help and suggestions here. > > Best > Yuan Tian > > [[alternative HTML version deleted]] > > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel > [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel