Open KoichiHashikawa opened 3 years ago
This thread might provide more details about your issue. Maybe this thread has some relevant hints?
https://stackoverflow.com/questions/14191566/c-mutex-in-namespace-std-does-not-name-a-type
My understanding is that this error seems to be caused by the C++ compiler that you use on Windows.
I'm not sure exactly what might fix your issue, but maybe we can try a few ideas?
Could you please update to the latest version of RcppArmadillo by running install.packages("RcppArmadillo")
? Then try to install presto?
Does that work?
This issue seems to be related. Could we try the solution proposed there?
Can we disable the use of mutex by changing how the package is compiled? The CRAN documentation has tips on Customizing package compilation.
As Dirk said in the related issue, you might try something like this:
Open your ~/.R/Makevars
file and look for CXXFLAGS
and CXX11FLAGS
:
CXXFLAGS= -g -O3 -Wall -DARMA_DONT_USE_CXX11_MUTEX
CXX11FLAGS= -g -O3 -Wall -DARMA_DONT_USE_CXX11_MUTEX
I don't know what your file looks like, but try adding the string -DARMA_DONT_USE_CXX11_MUTEX
to the end of the settings for CXXFLAGS
and CXX11FLAGS
.
Does that work?
Thanks so much for the detailed answer.
Previous errors are solved and I think it gets very close, but still have an error an the end.
** testing if installed package can be loaded from temporary location
Warning: package 'data.table' was built under R version 4.0.5
Error: package or namespace load failed for 'presto' in inDL(x, as.logical(local), as.logical(now), ...):
unable to load shared object 'C:/Users/Koichi/envs/Integrate/Lib/R/library/00LOCK-presto/00new/presto/libs/x64/presto.dll':
LoadLibrary failure: The specified procedure could not be found.
Error: loading failed
Execution halted
ERROR: loading failed
* removing 'C:/Users/Koichi/envs/Integrate/Lib/R/library/presto'
Warning message:
In i.p(...) :
installation of package 'C:/Users/KOICHI~1/AppData/Local/Temp/RtmpEjc3AU/file1cfc46030b6/presto_1.0.0.tar.gz' had non-zero exit status
Here's a Stackoverflow thread matching the query LoadLibrary failure: The specified procedure could not be found.
https://stackoverflow.com/questions/13497222/the-specified-module-could-not-be-found-in-r
From that thread, here is what I might suggest:
C:/Users/Koichi/envs/Integrate/Lib/R/library/00LOCK-presto
devtools::install_github("immunogenomics/presto")
I hope that solves the issue!
If you still have an issue, then I might guess that you could have some issues with your PATH
environment variable on Windows, or some issues with using multiple C++ compilers instead of one compiler (e.g. package1 compiled with compiler1, and package2 compiled with compiler2).
If possible, please consider sharing what specific steps helped to solve the issue, so other people who find this thread in the future can learn from our discussion.
Hello,
I tried to install presto in anaconda/jupyter environment.
devtools::install_github("immunogenomics/presto")
gave an error below and failed. I am wondering if there are any suggestions.