RfastOfficial / Rfast

A collection of Rfast functions for data analysis. Note 1: The vast majority of the functions accept matrices only, not data.frames. Note 2: Do not have matrices or vectors with have missing data (i.e NAs). We do no check about them and C++ internally transforms them into zeros (0), so you may get wrong results. Note 3: In general, make sure you give the correct input, in order to get the correct output. We do no checks and this is one of the many reasons we are fast.
139 stars 19 forks source link

parallel.h fatal error #92

Open albenstein opened 6 months ago

albenstein commented 6 months ago

Describe the bug When try to install Rfast with Rstudio (R 4.1.2), get error like attached file: rfast.error.txt

Expected behavior

  1. The correct result I expected is the package is installed.

Desktop (please complete the following information):

albenstein commented 6 months ago

I could install Rfast 2.0.6 version. Cannot install 2.0.9 and 2.1.0 versions.

ManosPapadakis95 commented 6 months ago

I cannot help for your OS. Try remove the parallel from the header file and compile by yourself.

ric-osorio commented 5 months ago

I believe it happens in any CentOS or similar. I try from a fresh install and same happens. I can stick with Rfast: 2.0.8 but I'm sure 2.1.0 has some important fixes...

AlexandreGGS commented 5 months ago

I cant install the last version on a CentOS server.

I can install the 2.0.8, thx to last comment.

remotes::install_version("Rfast", version = "2.0.8")
tdhock commented 5 months ago

I have same issue https://github.com/tdhock/data.table-revdeps/issues/11

using C compiler: ‘gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20)’
using C++ compiler: ‘g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20)’
ManosPapadakis95 commented 5 months ago

If anyone want to help then check the branch Parallel and compile it. I have add checks for red hat OS.

ric-osorio commented 5 months ago

Still not... ![Uploading replicate.jpg…]()

R version 4.3.0 (2023-04-21) -- "Already Tomorrow" Copyright (C) 2023 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details.

Natural language support but running in an English locale

R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R.

devtools::install_github("RfastOfficial/Rfast",ref = "Parallel") Downloading GitHub repo RfastOfficial/Rfast@Parallel ── R CMD build ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ✔ checking for file ‘/opt/GIT/tmp/RtmphAw955/remotes253a56ef0fde5/RfastOfficial-Rfast-30347e8/DESCRIPTION’ (335ms) ─ preparing ‘Rfast’: ✔ checking DESCRIPTION meta-information ... ─ cleaning src ─ installing the package to process help pages

─ installing source package ‘Rfast’ ... using staged installation libs using C compiler: ‘gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20)’ using C++ compiler: ‘g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20)’ using C++17 g++ -std=gnu++17 -I"/opt/R/4.3.0/lib/R/include" -DNDEBUG -I../inst/include -I'/home/byspectra/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include' -I'/home/byspectra/R/x86_64-pc-linux-gnu-library/4.3/RcppArmadillo/include' -I'/home/byspectra/R/x86_64-pc-linux-gnu-library/4.3/RcppParallel/include' -I/usr/local/include -fopenmp -fpic -g -O2 -Wall -pedantic -fdiagnostics-color=always -c Coeff.cpp -o Coeff.o In file included from ../inst/include/Rfast/templates.h:10, from ../inst/include/Rfast/matrix.hpp:14, from ../inst/include/Rfast.h:5, from mn.h:4, from Coeff.cpp:4: ../inst/include/Rfast/parallel.h:20:10: fatal error: execution: No such file or directory

include

^~~ compilation terminated. make: *** [/opt/R/4.3.0/lib/R/etc/Makeconf:200: Coeff.o] Error 1 ERROR: compilation failed for package ‘Rfast’ ─ removing ‘/opt/GIT/tmp/RtmpI2kk8J/Rinst2549e40bddee3/Rfast’

ERROR: package installation failed Error: Failed to install 'Rfast' from GitHub: ! System command 'R' failed

tdhock commented 5 months ago

For me the error does not happen with a more recent version of gcc (12.3.0), so I believe the solution is to upgrade gcc.

tdhock commented 5 months ago

oldest version of gcc used by current CRAN checks is 10.4.0 (most are actually newer, 12 or 13), https://cloud.r-project.org/web/checks/check_flavors.html so that is probably why this error is not showing up on CRAN, https://cloud.r-project.org/web/checks/check_results_Rfast.html

tdhock commented 5 months ago

for others who are having this issue, can you try upgrading gcc to see if that fixes the issue? If so, then I believe we can close this issue.

ric-osorio commented 5 months ago

It worked! Thanks. gcc 12 guys:

sudo dnf install gcc-toolset-12 scl enable gcc-toolset-12 bash

and then install/upgrade

@tdhock thanks for the tip!

ManosPapadakis95 commented 5 months ago

To make the C++ parallel play you need to have cpp version >= 20160 except MacOS. So everyone just update your GCC to the latest. You want this. Newer compiler means more speed.