Windows install compilation failed : Missing dependencies?
ViriatoII opened this issue · 4 comments
Hi,
I can't install on windows, I get the following error during compilation:
* installing *source* package 'MERINGUE' ...
** using staged installation
** libs
"C:/rtools40/mingw64/bin/"g++ -std=gnu++11 -I"C:/Users/RICARD~1.GUE/DOCUME~1/R/R-41~1.1/include" -DNDEBUG -I'C:/Users/ricardo.guerreiro/Documents/R/R-4.1.1/library/Rcpp/include' -I'C:/Users/ricardo.guerreiro/Documents/R/R-4.1.1/library/RcppArmadillo/include' -I'C:/Users/ricardo.guerreiro/Documents/R/R-4.1.1/library/RcppProgress/include' -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c RcppExports.cpp -o RcppExports.o
"C:/rtools40/mingw64/bin/"g++ -std=gnu++11 -I"C:/Users/RICARD~1.GUE/DOCUME~1/R/R-41~1.1/include" -DNDEBUG -I'C:/Users/ricardo.guerreiro/Documents/R/R-4.1.1/library/Rcpp/include' -I'C:/Users/ricardo.guerreiro/Documents/R/R-4.1.1/library/RcppArmadillo/include' -I'C:/Users/ricardo.guerreiro/Documents/R/R-4.1.1/library/RcppProgress/include' -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c functions.cpp -o functions.o
C:/rtools40/mingw64/bin/g++ -std=gnu++11 -shared -s -static-libgcc -o MERINGUE.dll tmp.def RcppExports.o functions.o -LC:/Users/RICARD~1.GUE/DOCUME~1/R/R-41~1.1/bin/x64 -lR
C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: functions.o:functions.cpp:(.text$_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_]+0x293): undefined reference to `dgemm_'
C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: functions.o:functions.cpp:(.text$_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_]+0x627): undefined reference to `dgemv_'
C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: functions.o:functions.cpp:(.text$_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_]+0x6f2): undefined reference to `dgemv_'
C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: functions.o:functions.cpp:(.text$_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3ColIdEES3_EEvRNS_3MatIT_EERKT3_RKT4_S5_]+0x91a): undefined reference to `dsyrk_'
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'MERINGUE'
Running this as you suggest:
install.packages("remotes")
require(remotes)
remotes::install_github('JEFworks-Lab/MERINGUE', build_vignettes = TRUE)
Do I have missing dependencies? I don't see a list of requirements
Cheers,
Hi - thanks for reaching out.
It's possible that you are missing the LAPACK dependency. Please try installing the LAPACK dependency first then try installing MERINGUE.
Let us know if that helps!
Thanks,
Brendan
Hi @bmill3r,
Uf, this LAPACK is quite complex to install, I hate windows... Well, I just installed a linux subsystem and run R from there. Then the installation works.
Thank you for the help,
Ricardo
Hi Ricardo,
I'm glad you have MERINGUE up and running. This isn't the first time in which there was an issue installing on Windows due to LAPACK. Perhaps it is time to set up a pre-compiled binary or docker solution for users on Windows. Thanks for bringing up this issue.
Please reach back out if anything else comes up.
Brendan
Hi @ViriatoII ,
It's been a long time coming but I wanted to let you know that I believe MERINGUE should be installable on Windows now. The issue seems to be that a Makvars.win
file was needed to properly link to the LAPACK libraries. ( see this stackoverflow thread for reference )
Hope this helps,
Brendan