Bug #2326
Updated by Serge Heiden almost 3 years ago
The FactoMineR package cannot be loaded with the library(FactoMineR) R command and TXM crashes. command.
<pre>
*** caught segfault ***
address 0x5, cause 'memory not mapped'
Traceback:
1: dyn.load(file, DLLpath = DLLpath, ...)
2: library.dynam(lib, package, package.lib)
3: loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]])
4: asNamespace(ns)
5: namespaceImportFrom(ns, loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]), i[[2L]], from = package)
6: loadNamespace(package, c(which.lib.loc, lib.loc))
7: doTryCatch(return(expr), name, parentenv, handler)
8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
9: tryCatchList(expr, classes, parentenv, handlers)
</pre>
h3. Hypothesis
TXM R package path is broken or TXM dynamic libraries path is broken (R path or package specific path) or the two are broken: there are version mismatch between packages or dynamic libraries.
h3. diagnostic
Hypothesis: A so library is missed loaded from a wrong library directory. directory
Call the R commands within /usr/lib/TXM/R :
<pre>
library.dynam()
.libPaths()
find.package()
</pre>
Note: Windows 10: all the dynamic library paths point to TXM R installation directory. directory
h3. Solution
Some paths of the /usr/lib/TXM/R/etc/Renviron point to either the R system packages and libraries or the user R system packages but should only poin to TXM R packages. libraries
To stop point to either the R system packages and the user R system packages:
* fix: Comment the 43th and 49th line of the /usr/lib/TXM/R/etc/Renviron file
* if TXM R loads its own packages, it will load its own dynamic libraries Renviron file.
<pre>
*** caught segfault ***
address 0x5, cause 'memory not mapped'
Traceback:
1: dyn.load(file, DLLpath = DLLpath, ...)
2: library.dynam(lib, package, package.lib)
3: loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]])
4: asNamespace(ns)
5: namespaceImportFrom(ns, loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]), i[[2L]], from = package)
6: loadNamespace(package, c(which.lib.loc, lib.loc))
7: doTryCatch(return(expr), name, parentenv, handler)
8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
9: tryCatchList(expr, classes, parentenv, handlers)
</pre>
h3. Hypothesis
TXM R package path is broken or TXM dynamic libraries path is broken (R path or package specific path) or the two are broken: there are version mismatch between packages or dynamic libraries.
h3. diagnostic
Hypothesis: A so library is missed loaded from a wrong library directory. directory
Call the R commands within /usr/lib/TXM/R :
<pre>
library.dynam()
.libPaths()
find.package()
</pre>
Note: Windows 10: all the dynamic library paths point to TXM R installation directory. directory
h3. Solution
Some paths of the /usr/lib/TXM/R/etc/Renviron point to either the R system packages and libraries or the user R system packages but should only poin to TXM R packages. libraries
To stop point to either the R system packages and the user R system packages:
* fix: Comment the 43th and 49th line of the /usr/lib/TXM/R/etc/Renviron file
* if TXM R loads its own packages, it will load its own dynamic libraries Renviron file.