Aliases: library.dynam library.dynam.unload .dynLibs
Keywords: data
### ** Examples ## Which DLLs were dynamically loaded by packages? library.dynam()
Filename 1 /usr/local/R/4.2/library/methods/libs/methods.so 2 /usr/local/R/4.2/library/utils/libs/utils.so 3 /usr/local/R/4.2/library/grDevices/libs/grDevices.so 4 /usr/local/R/4.2/library/graphics/libs/graphics.so 5 /usr/local/R/4.2/library/stats/libs/stats.so 6 /data/rcloud/library/4.2/xfun/libs/xfun.so 7 /usr/local/R/4.2/library/tools/libs/tools.so 8 /data/rcloud/library/4.2/png/libs/png.so 9 /data/rcloud/library/4.2/Cairo/libs/Cairo.so 10 /data/rcloud/library/4.2/mime/libs/mime.so 11 /data/rcloud/library/4.2/base64enc/libs/base64enc.so 12 /data/rcloud/library/4.2/PKI/libs/PKI.so 13 /data/rcloud/library/4.2/rcloud.support/libs/rcloud.support.so 14 /data/rcloud/library/4.2/rjson/libs/rjson.so 15 /usr/local/R/4.2/library/parallel/libs/parallel.so 16 /data/rcloud/library/4.2/bitops/libs/bitops.so 17 /data/rcloud/library/4.2/RCurl/libs/RCurl.so 18 /data/rcloud/library/4.2/uuid/libs/uuid.so 19 /data/rcloud/library/4.2/rediscc/libs/rediscc.so Dynamic.Lookup 1 FALSE 2 FALSE 3 FALSE 4 FALSE 5 FALSE 6 FALSE 7 FALSE 8 TRUE 9 FALSE 10 FALSE 11 TRUE 12 FALSE 13 TRUE 14 TRUE 15 FALSE 16 FALSE 17 TRUE 18 FALSE 19 TRUE
## More on library.dynam.unload() : ## No test: require(nlme)
nlme:::.onUnload # shows library.dynam.unload() call
function (libpath) library.dynam.unload("nlme", libpath) <bytecode: 0x55ccfe97c838> <environment: namespace:nlme>
detach("package:nlme") # by default, unload=FALSE , so, tail(library.dynam(), 2)# nlme still there
Filename Dynamic.Lookup 1 /usr/local/R/4.2/library/lattice/libs/lattice.so FALSE 2 /usr/local/R/4.2/library/nlme/libs/nlme.so FALSE
## How to unload the DLL ? ## Best is to unload the namespace, unloadNamespace("nlme") ## If we need to do it separately which should be exceptional: pd.file <- attr(packageDescription("nlme"), "file") library.dynam.unload("nlme", libpath = sub("/Meta.*", '', pd.file)) tail(library.dynam(), 2)# 'nlme' is gone now
Filename Dynamic.Lookup 1 /usr/local/R/4.2/library/grid/libs/grid.so FALSE 2 /usr/local/R/4.2/library/lattice/libs/lattice.so FALSE
unloadNamespace("nlme") # now gives warning
Warning: .onUnload failed in unloadNamespace() for 'nlme', details: call: library.dynam.unload("nlme", libpath) error: shared object 'nlme.so' was not loaded
## End(No test)