Repository navigation
1.12.0 compilation error on Red Hat Linux / Trisquel #3291
Copy link
Copy link
Closed
Labels
Description
Hi, I tried unsuccessfully to install the v1.12.0 (13 Jan 2019) data.table package in Trisquel GNU/Linux system. I have the sessionInfo information at the bottom of this issue.
Please see the installation log below:
> install.packages("data.table")
Installing package into ‘/x86_64-pc-linux-gnu-library/library’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/data.table_1.12.0.tar.gz'
Content type 'application/x-gzip' length 3311096 bytes (3.2 MB)
==================================================
downloaded 3.2 MB
* installing *source* package ‘data.table’ ...
** package ‘data.table’ successfully unpacked and MD5 sums checked
** libs
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c assign.c -o assign.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c between.c -o between.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c bmerge.c -o bmerge.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c chmatch.c -o chmatch.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c dogroups.c -o dogroups.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c fastmean.c -o fastmean.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c fcast.c -o fcast.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c fmelt.c -o fmelt.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c forder.c -o forder.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c frank.c -o frank.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c fread.c -o fread.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c freadR.c -o freadR.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c froll.c -o froll.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c frollR.c -o frollR.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c frolladaptive.c -o frolladaptive.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c fsort.c -o fsort.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c fwrite.c -o fwrite.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c fwriteR.c -o fwriteR.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c gsumm.c -o gsumm.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c ijoin.c -o ijoin.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c init.c -o init.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c inrange.c -o inrange.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c nqrecreateindices.c -o nqrecreateindices.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c openmp-utils.c -o openmp-utils.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c quickselect.c -o quickselect.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c rbindlist.c -o rbindlist.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c reorder.c -o reorder.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c shift.c -o shift.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fopenmp -fpic -std=gnu99 -c subset.c -o subset.o
subset.c: In function ‘subsetVectorRaw’:
subset.c:36:105: error: stray ‘#’ in program
PARLOOP(NA_INTEGER)
^
subset.c:36:106: error: unknown type name ‘pragma’
PARLOOP(NA_INTEGER)
^
subset.c:36:117: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
PARLOOP(NA_INTEGER)
^
subset.c:36:16: error: ‘i’ undeclared (first use in this function)
PARLOOP(NA_INTEGER)
^
subset.c:36:16: note: each undeclared identifier is reported only once for each function it appears in
subset.c:36:24: error: expected ‘;’ before ‘)’ token
PARLOOP(NA_INTEGER)
^
subset.c:36:24: error: expected statement before ‘)’ token
subset.c:42:124: error: stray ‘#’ in program
PARLOOP(INT64_MIN)
^
subset.c:42:125: error: unknown type name ‘pragma’
PARLOOP(INT64_MIN)
^
subset.c:42:136: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
PARLOOP(INT64_MIN)
^
subset.c:42:24: error: expected ‘;’ before ‘)’ token
PARLOOP(INT64_MIN)
^
subset.c:42:24: error: expected statement before ‘)’ token
subset.c:46:106: error: stray ‘#’ in program
PARLOOP(NA_REAL)
^
subset.c:46:107: error: unknown type name ‘pragma’
PARLOOP(NA_REAL)
^
subset.c:46:118: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
PARLOOP(NA_REAL)
^
subset.c:46:24: error: expected ‘;’ before ‘)’ token
PARLOOP(NA_REAL)
^
subset.c:46:24: error: expected statement before ‘)’ token
subset.c:76:105: error: stray ‘#’ in program
PARLOOP(NA_CPLX)
^
subset.c:76:106: error: unknown type name ‘pragma’
PARLOOP(NA_CPLX)
^
subset.c:76:117: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
PARLOOP(NA_CPLX)
^
subset.c:76:24: error: expected ‘;’ before ‘)’ token
PARLOOP(NA_CPLX)
^
subset.c:76:24: error: expected statement before ‘)’ token
subset.c:81:99: error: stray ‘#’ in program
PARLOOP(0)
^
subset.c:81:100: error: unknown type name ‘pragma’
PARLOOP(0)
^
subset.c:81:111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
PARLOOP(0)
^
subset.c:81:24: error: expected ‘;’ before ‘)’ token
PARLOOP(0)
^
subset.c:81:24: error: expected statement before ‘)’ token
make: *** [subset.o] Error 1
ERROR: compilation failed for package ‘data.table’
Output of sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Trisquel GNU/Linux Belenos (7.0)
Matrix products: default
BLAS: /usr/lib/atlas-base/atlas/libblas.so.3.0
LAPACK: /usr/lib/lapack/liblapack.so.3.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] graphics grDevices datasets stats utils methods base
loaded via a namespace (and not attached):
[1] compiler_3.5.2 tools_3.5.2
Reactions are currently unavailable
Activity
s-yazar commentedon Jan 25, 2019
Hello,
I am also having trouble installing data.table in Linux with the following error:
jangorecki commentedon Jan 25, 2019
please report also version of your compilers, something like
gcc --versions-yazar commentedon Jan 25, 2019
Mine was gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17). I have also compiled one version with gcc-7.3.0 and it gives an error too
CharlesBordet commentedon Jan 26, 2019
It seems to be related to CentOS. I had the same issue as s-yazar on a brand new R install.
The problem was solved by upgrading gcc to 4.9.0.
jangorecki commentedon Jan 27, 2019
@Huitziii thanks for feedback. Still it is strange that @s-yazar is getting error on gcc-7.3 while for you upgrade to gcc-4.9 resolved the problem. We don't have environment on hand to reproduce that issue at the moment.
[-]Errors attempting to install new CRAN version in GNU/Linux[/-][+]1.12.0 compilation error in Red Hat Linux / Trisquel[/+][-]1.12.0 compilation error in Red Hat Linux / Trisquel[/-][+]1.12.0 compilation error on Red Hat Linux / Trisquel[/+]s-yazar commentedon Jan 31, 2019
Hi @jangorecki,
I went back and recompiled R 3.5.1 with gcc-7.3 again. This time installed data.table without a problem. Not sure what has caused the earlier error.
jangorecki commentedon Jan 31, 2019
@s-yazar thanks for feedback.
So as of now @s-yazar and @Huitziii compilation error has been solved by upgrading compiler.
@iembry are you able to upgrade your compiler?
jangorecki commentedon Feb 5, 2019
@iembry please lets us know if upgrading compiler resolved the problem, if not I will re-open this issue.
philippbayer commentedon Apr 3, 2019
I ran into the same issue on a RedHat system running gcc v4.4.7 - I installed
devtoolset-2as described here: https://unix.stackexchange.com/a/125621 since the 'standard' RedHat gcc on this distro is still v4.4.7, so yum update didn't do anything (I also had to download and install the GPG key as listed in this comment)devtoolset-2contains a bunch of stuff, including a newer gcc v4.8.2, enable that environment:and then you have gcc v4.8.2, and then the installation of data.table v1.1.2.0 worked.
jangorecki commentedon Apr 3, 2019
@philippbayer thanks for feedback
iembry commentedon Apr 9, 2019
@jangorecki I'm sorry for my super delayed response, but no, I am not able to upgrade my compiler until I upgrade my computer and upgrade my distribution. I have a much older version of gcc compiler, but I don't remember which version it is right now.
Is it possible for you to place a gcc compiler > version on the CRAN page for data.table?
Thank you.
12 remaining items
jangorecki commentedon Oct 9, 2019
From multiple past reports we observed that 4.8.2+ was recent enough. There is only this single report that doesn't fit here. Before stating dependency on 4.9.2 (or later) it would be best to double check which version is actually used during installation.
mattdowle commentedon Oct 9, 2019
@jc-castillo can you confirm your output of
gcc --versionplease to double-check. See @jangorecki's comment above.jangorecki commentedon Oct 9, 2019
~/.R/Makevarscould eventually overridegcc --versionduring installation from R, could you please check that also? if you don't have this file it should be fine then.@mattdowle does Makevars affects configure scripts already? or just pkg src compilation? we could maybe add a print from configure script so debugging such issues will be easier having gcc version in 00install.out.
mattdowle commentedon Oct 9, 2019
@jangorecki
gcc --versionprinted inconfiguresounds good. Needs to wrapped so that if gcc is not available it doesn't causeconfigureto fail. The user may be using a different compiler and not havegccinstalled. R-exts section 1.2 mentionsR CMD configwhich may be helpful to emit fromconfiguretoo.print gcc version during install, towards #3291
print gcc version during install, towards #3291 (#4162)
jangorecki commentedon Jan 8, 2020
@jc-castillo could you please re-try to install latest devel version in the same environment it failed before? we added extra output for gcc version to ensure which version is being used by R process to compile package sources.
jangorecki commentedon Feb 16, 2020
I am closing this issue and the only thing to investigate was report by @jc-castillo and he is not responding anymore. Installation now prints gcc version, so we can more precisely debug which gcc version is being used during compilation. @jc-castillo please let us know if this issue still affects you, we can always re-open this issue.
hzambran commentedon Feb 25, 2020
When installing data.table for the current r-devel I'm also having the same issue in GNU/Linux Mint 17.3 Cinnamon 64-bit.
Below is my output:
My gcc version is:
gcc --version gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4MichaelChirico commentedon Feb 26, 2020
@hzambran looks like maybe related to OpenMP? Can you try to install the current dev version? The log there should include a diagnostic about your OpenMP installation
jangorecki commentedon Feb 26, 2020
@hzambran could you please disable
ccacheand usegccdirectly during installation? and then provide output.hzambran commentedon Feb 26, 2020
Thanks for your reply.
I'm not an expert with the compilation, so could you please tell me how can I disable
ccacheand usegccdirectly during installation?hzambran commentedon Feb 26, 2020
I also tried with the current dev version of data.table, but I got the same error.