2
votes

L'installation / la compilation du package R data.table échoue sur le système avec R 3.5.1

J'essaye de réinstaller data.table avec:

forder.c: In function ‘range_str’:
forder.c:296: error: expected end of line before ‘update’
make: *** [forder.o] Error 1
ERROR: compilation failed for package ‘data.table’

Et j'obtiens l'erreur de compilation suivante:

install.packages("data.table")

Le package que je reçois de cran est: data.table_1.12.0.tar.gz Ce qui devrait être une version qui fonctionne avec 3.5, contrairement aux problèmes avec data.table 1.10

Le système sur lequel il se trouve est RHEL 6.9 + J'ai également déjà mis à jour gcc via yum.

R les versions sont également up2date de yum: R-core-3.5.1-1.el6.x86_64 R-core-devel-3.5.1-1.el6.x86_64

Tout ce que j'ai pu trouver sur google pour cela était soit lié à Rtools (Windows), soit à l'ancienne version 1.10, cela semble être autre chose.


2 commentaires

Pouvez-vous publier le message d'erreur complet?


C'est le message d'erreur complet, ci-dessus qui ne sont que quelques étapes de compilation qui ont réussi.


3 Réponses :


0
votes

La ligne mentionnée dans le message d'erreur est:

#pragma omp atomic update

qui est une fonctionnalité qui n'est apparemment pas disponible dans GCC avant la version 4.7 et sur RedHat 6.9, la plus élevée que j'obtiens des dépôts standard est 4.4. 7 pour le moment.

Signifie que j'ai besoin d'un compilateur plus récent, qui peut gérer cette fonctionnalité openmp.


0 commentaires

0
votes

J'ai eu la même erreur lors de l'installation de data.table avec R 3.5.0

Sur un CentOS 6.10 (qui a gcc et g ++ version 4.4.7), voici comment j'ai pu installer data.table:

  1. yum install devtoolset-6
  2. scl enable devtoolset-6 bash
    maintenant si vous faites: `which gcc` -v , vous devriez voir une version supérieure de gcc
  3. R
    pour démarrer R 3.5.0
  4. install.packages ("data.table")
    maintenant, j'ai pu installer data.table

1 commentaires

J'ai les mêmes versions de tout, mais cela n'a pas fonctionné pour moi. Ma version gcc reste la même.



4
votes

Vous pouvez installer une ancienne version de data.table sur EL6. 1.11.4 fonctionne; Je ne suis pas sûr de ce que font les nouvelles versions, le cas échéant.

require(devtools)
install_version("data.table", version = "1.11.4")

En savoir plus sur l'installation d'anciennes versions de packages: https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages

p>


1 commentaires

la version 1.11.8 fonctionne pour moi (mais pas la 1.12.0) en utilisant gcc 4.4.7