Data.table: Red Hat Linux / Trisquelでの1.12.0コンパむル゚ラヌ

䜜成日 2019幎01月17日  Â·  32コメント  Â·  ゜ヌス: Rdatatable/data.table

こんにちは、私はv1.12.02019幎1月13日 data.tableパッケヌゞをTrisquel GNU / Linuxシステムにむンストヌルしようずしたしたが倱敗したした。 この号の䞋郚にsessionInfo情報がありたす。

以䞋のむンストヌルログを参照しおください。

> 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   
platform-specific

最も参考になるコメント

@jangorecki申し蚳ありたせんが、私はばかです。 私が䜿甚しおいたサヌバヌは、明らかにただRedhat 6を実行しおいたすが、サポヌトされおいなくおも問題はありたせん。 それが7でも箱から出しおすぐに機胜するのは玠晎らしいこずです。

党おのコメント32件

こんにちは、

Linuxにdata.tableをむンストヌルする際にも、次の゚ラヌが発生したす。

gcc -std=gnu99 -I"/share/ClusterShare/software/contrib/seyyaz/R-v3.5.1/lib64/R/include" -DNDEBUG   -I/share/ClusterShare/software/contrib/seyyaz/zlib-1.2.11/include -I/share/ClusterShare/software/contrib/seyyaz/bzip2-1.0.6/include -I/share/ClusterShare/software/contrib/seyyaz/xz-5.2.4/include -I/share/ClusterShare/software/contrib/seyyaz/pcre-8.42/include -I//share/ClusterShare/software/contrib/seyyaz/curl-7.63.0/include  -fopenmp -fpic  -g -O2  -c forder.c -o forder.o
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'
* removing '/share/ClusterShare/software/contrib/seyyaz/R_libs/data.table'
* restoring previous '/share/ClusterShare/software/contrib/seyyaz/R_libs/data.table'

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.8 (Final)

Matrix products: default
BLAS: /share/ClusterShare/software/contrib/seyyaz/R-v3.5.1/lib64/R/lib/libRblas.so
LAPACK: /share/ClusterShare/software/contrib/seyyaz/R-v3.5.1/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.iso885915       LC_NUMERIC=C
 [3] LC_TIME=en_US.iso885915        LC_COLLATE=en_US.iso885915
 [5] LC_MONETARY=en_US.iso885915    LC_MESSAGES=en_US.iso885915
 [7] LC_PAPER=en_US.iso885915       LC_NAME=C
 [9] LC_ADDRESS=C                   LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.iso885915 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] usethis_1.4.0  devtools_2.0.1

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0         ps_1.3.0           prettyunits_1.0.2  rprojroot_1.3-2
 [5] withr_2.1.2        digest_0.6.18      crayon_1.3.4       assertthat_0.2.0
 [9] R6_2.3.0           backports_1.1.3    magrittr_1.5       rlang_0.3.1
[13] cli_1.0.1          curl_3.3           fs_1.2.6           remotes_2.0.2
[17] callr_3.1.1        desc_1.2.0         tools_3.5.1        glue_1.3.0
[21] pkgload_1.0.2      compiler_3.5.1     processx_3.2.1     pkgbuild_1.0.2
[25] BiocManager_1.30.4 sessioninfo_1.1.1  memoise_1.1.0

gcc --versionのようなコンパむラのバヌゞョンも報告しおください

鉱山はgccGCC4.4.7 20120313Red Hat 4.4.7-17でした。 たた、gcc-7.3.0で1぀のバヌゞョンをコンパむルしたしたが、゚ラヌも発生したす

CentOSに関連しおいるようです。 たったく新しいRむンストヌルでs-yazarず同じ問題が発生したした。

この問題は、gccを4.9.0にアップグレヌドするこずで解決されたした。

@Huitziiiフィヌドバックをありがずう。 それでも、@ s-yazarがgcc-7.3で゚ラヌを取埗しおいるのに、gcc-4.9にアップグレヌドするず問題が解決するのは䞍思議です。 珟圚、その問題を再珟するための環境は手元にありたせん。

こんにちは@jangorecki 、
戻っお、R3.5.1をgcc-7.3で再床コンパむルしたした。 今回は問題なくdata.tableをむンストヌルしたした。 以前の゚ラヌの原因がわからない。

@ s-yazarフィヌドバックをありがずう。
そのため、珟時点では、@ s-yazarず@Huitziiiのコンパむル゚ラヌはコンパむラをアップグレヌドするこずで解決されおいたす。
@iembryコンパむラをアップグレヌドできたすか

@iembryは、コンパむラをアップグレヌドするこずで問題が解決したかどうかをお知らせください。解決しない堎合は、この問題を再床開きたす。

gcc v4.4.7を実行しおいるRedHatシステムで同じ問題が発生したした-ここで説明されおいるようにdevtoolset-2をむンストヌルしたした https //unix.stackexchange.com/a/125621これの「暙準」RedHatgcc以降distroはただv4.4.7であるため、yum updateは䜕もしたせんでしたこのコメントにリストされおいるように、GPGキヌもダりンロヌドしおむンストヌルする必芁がありたした

devtoolset-2には、新しいgcc v4.8.2を含む倚くのものが含たれおおり、その環境を有効にしたす。

source scl_source enable devtoolset-2

次に、gcc v4.8.2があり、data.tablev1.1.2.0のむンストヌルが機胜したした。

@philippbayerフィヌドバックありがずうございたす

@jangorecki応答が非垞に遅れお申し蚳ありたせんが、いいえ、コンピュヌタヌをアップグレヌドしおディストリビュヌションをアップグレヌドするたで、コンパむラヌをアップグレヌドできたせん。 私はずっず叀いバヌゞョンのgccコンパむラを持っおいたすが、それが珟圚どのバヌゞョンであるかを芚えおいたせん。

data.tableのCRANペヌゞにgccコンパむラ>バヌゞョンを配眮するこずは可胜ですか

ありがずう。

最新のredhatOSの完党に曎新されたバヌゞョンでコンパむルされないバヌゞョンのデヌタテヌブルを出荷するこずは、かなり䞍芪切な動きのようです。 たったく新しいむンストヌルのために非コアリポゞトリから新しいコンパむラをむンストヌルさせるのは玠晎らしい経隓ではありたせん。

コヌドがgcc4.4.7で動䜜するこずを可胜にするパッチは本圓にありたせんか

@ s-andrews https://access.redhat.com/solutions/19458による最近のものはRHEL7であり、gcc4.8.xで出荷されたす。 あなたのOSバヌゞョンは䜕ですか
䞊蚘のコメントによるず、gcc4.8.2でうたくコンパむルされたす。 4.8.2はほが6歳であるこずに泚意しおください。
同時に、私たちのR䟝存関係は少なくずも5幎前のR3.1です。 したがっお、Rよりもgccずの䞋䜍互換性が高いず蚀えたす。

@iembry返信が遅くなっおすみたせん、前にコメントを逃したした。 data.tableをコンパむルするのにgccは必芁ないので、それが実行可胜かどうかはわかりたせん。他にも倚くのコンパむラがあり、DESCRIPTIONにgccだけをリストするのは適切ではないようです。

@jangorecki申し蚳ありたせんが、私はばかです。 私が䜿甚しおいたサヌバヌは、明らかにただRedhat 6を実行しおいたすが、サポヌトされおいなくおも問題はありたせん。 それが7でも箱から出しおすぐに機胜するのは玠晎らしいこずです。

@jangorecki応答の遅延は問題ありたせん。 gccが唯䞀のコンパむラではないずいうあなたの意芋を理解しおいたす。 返信ありがずうございたす。

data.tableをむンストヌルするずきに同じ゚ラヌが発生したす。 sessionInfo()の出力は次のずおりです。

R version 3.5.3 (2019-03-11)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 8 (jessie)

Matrix products: default
BLAS: /usr/lib/libblas/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] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.5.3 tools_3.5.3 

私のgccバヌゞョンはgccDebian 4.9.2-10 + deb8u24.9.2で、䞊蚘のコメントによれば問題ないはずです。

gccを曎新しおみたすが、root暩限がありたせん。

むンストヌルログの出力を提䟛しおいただけたすか

出力は次のずおりです元の投皿ずほずんど同じです。

> install.packages("data.table", repos="http://cran.cnr.berkeley.edu/")
Installing package into ‘/home/jcasti15/R/x86_64-pc-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
trying URL 'http://cran.cnr.berkeley.edu/src/contrib/data.table_1.12.2.tar.gz'
Content type 'application/x-gzip' length 3343698 bytes (3.2 MB)
==================================================
downloaded 3.2 MB

* installing *source* package ‘data.table’ ...
** package ‘data.table’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c assign.c -o assign.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c between.c -o between.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c bmerge.c -o bmerge.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c chmatch.c -o chmatch.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c dogroups.c -o dogroups.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c fastmean.c -o fastmean.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c fcast.c -o fcast.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c fmelt.c -o fmelt.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c forder.c -o forder.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c frank.c -o frank.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c fread.c -o fread.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c freadR.c -o freadR.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c froll.c -o froll.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c frollR.c -o frollR.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c frolladaptive.c -o frolladaptive.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c fsort.c -o fsort.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c fwrite.c -o fwrite.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c fwriteR.c -o fwriteR.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c gsumm.c -o gsumm.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c ijoin.c -o ijoin.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c init.c -o init.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c inrange.c -o inrange.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c nqrecreateindices.c -o nqrecreateindices.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c openmp-utils.c -o openmp-utils.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c quickselect.c -o quickselect.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c rbindlist.c -o rbindlist.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c reorder.c -o reorder.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -c shift.c -o shift.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=
format-security -D_FORTIFY_SOURCE=2 -g  -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:81:105: error: stray ‘#’ in program
     PARLOOP(NA_CPLX)
                                                                                                         ^
subset.c:81:106: error: unknown type name ‘pragma’
     PARLOOP(NA_CPLX)
     subset.c:81:117: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
     PARLOOP(NA_CPLX)
                                                                                                                     ^
subset.c:81:24: error: expected ‘;’ before ‘)’ token
     PARLOOP(NA_CPLX)
                        ^
subset.c:81:24: error: expected statement before ‘)’ token
subset.c:86:99: error: stray ‘#’ in program
     PARLOOP(0)
                                                                                                   ^
subset.c:86:100: error: unknown type name ‘pragma’
     PARLOOP(0)
                                                                                                    ^
subset.c:86:111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
     PARLOOP(0)
                                                                                                               ^
subset.c:86:24: error: expected ‘;’ before ‘)’ token
     PARLOOP(0)
                        ^
subset.c:86:24: error: expected statement before ‘)’ token
/usr/lib/R/etc/Makeconf:163: recipe for target 'subset.o' failed
make: *** [subset.o] Error 1
ERROR: compilation failed for package ‘data.table’
* removing ‘/home/jcasti15/R/x86_64-pc-linux-gnu-library/3.5/data.table’

The downloaded source packages are in
        ‘/tmp/RtmpGCrGt9/downloaded_packages’

@ jc-castilloによるず、Debianjessieのgcc4.9.2で問題が再珟されおいたす。 今のずころ、gcc 4.8.2+に䟝存したいので、再開したす。
パッケヌゞのむンストヌルの開始時にgccバヌゞョンをコン゜ヌルにダンプする方法があるかどうか誰かが考えおいたすか 新しいgccがむンストヌルされおいる可胜性がありたすが、マシン構成により、パッケヌゞのむンストヌルに叀いgccが䜿甚されおいたす。 これを再確認するず䟿利です。

@jangorecki

この問題は、Debianjessieのgcc4.9.2で再珟されおいたす。 今のずころ、gcc 4.8.2+に䟝存したいので、再開したす。

問題がgcc4.9.2で再珟される堎合、なぜもっず叀いバヌゞョンのgcc4.8.2+に䟝存したいのですか

耇数の過去のレポヌトから、4.8.2 +が十分に最近のものであるこずがわかりたした。 ここに収たらないのはこの単䞀のレポヌトだけです。 4.9.2たたはそれ以降ぞの䟝存関係を述べる前に、むンストヌル䞭に実際に䜿甚されおいるバヌゞョンを再確認するこずをお勧めしたす。

@ jc-castillo gcc --versionの出力を確認できたすか再確認しおください。 䞊蚘の@jangoreckiのコメントを参照しおください。

~/.R/Makevarsは、Rからのむンストヌル䞭に最終的にgcc --versionを䞊曞きする可胜性がありたすが、それも確認しおください。 このファむルがない堎合は問題ありたせん。

@mattdowle Makevarsは構成スクリプトにすでに圱響したすか たたは単にpkgsrcコンパむル configureスクリプトから印刷を远加しお、00install.outにgccバヌゞョンを蚭定するず、このような問題のデバッグが容易になる可胜性がありたす。

@jangorecki gcc --versionをconfigure $で印刷するずいいですね。 gccが䜿甚できない堎合に、 configureが倱敗しないようにラップする必芁がありたす。 ナヌザヌが別のコンパむラを䜿甚しおいお、 gccがむンストヌルされおいない可胜性がありたす。 R-extsセクション1.2はR CMD configに蚀及しおおり、これはconfigureからも攟出するのに圹立぀可胜性がありたす。

@ jc-castillo以前に倱敗したのず同じ環境に、最新の開発バヌゞョンをむンストヌルしおみおください。 パッケヌゞ゜ヌスをコンパむルするためにRプロセスがどのバヌゞョンを䜿甚しおいるかを確認するために、gccバヌゞョンの出力を远加したした。

私はこの問題を閉じおいたす。調査するのは@ jc-castilloによる報告だけで、圌はもう応答しおいたせん。 むンストヌルでgccバヌゞョンが出力されるようになったため、コンパむル䞭に䜿甚されおいるgccバヌゞョンをより正確にデバッグできたす。 @ jc-castilloこの問題が匕き続き発生する堎合は、お知らせください。い぀でもこの問題を再開できたす。

珟圚のr-develにdata.tableをむンストヌルするず、GNU / Linux Mint 17.3 Cinnamon64ビットでも同じ問題が発生したす。

以䞋は私の出力です

install.packages("data.table")
Installing package into ‘/usr/local/lib/R-devel/lib/R/library’
(as ‘lib’ is unspecified)
trying URL 'https://cran.dcc.uchile.cl/src/contrib/data.table_1.12.8.tar.gz'
Content type 'application/x-gzip' length 4948391 bytes (4.7 MB)
==================================================
downloaded 4.7 MB

* installing *source* package ‘data.table’ ...
** package ‘data.table’ successfully unpacked and MD5 sums checked
** using staged installation
zlib 1.2.8 is available ok
** libs
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c assign.c -o assign.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c between.c -o between.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c bmerge.c -o bmerge.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c chmatch.c -o chmatch.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c cj.c -o cj.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c coalesce.c -o coalesce.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c dogroups.c -o dogroups.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fastmean.c -o fastmean.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fcast.c -o fcast.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fifelse.c -o fifelse.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fmelt.c -o fmelt.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c forder.c -o forder.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c frank.c -o frank.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fread.c -o fread.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c freadR.c -o freadR.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c froll.c -o froll.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c frollR.c -o frollR.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c frolladaptive.c -o frolladaptive.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fsort.c -o fsort.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fwrite.c -o fwrite.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c fwriteR.c -o fwriteR.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c gsumm.c -o gsumm.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c ijoin.c -o ijoin.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c init.c -o init.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c inrange.c -o inrange.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c nafill.c -o nafill.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c nqrecreateindices.c -o nqrecreateindices.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c openmp-utils.c -o openmp-utils.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c quickselect.c -o quickselect.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c rbindlist.c -o rbindlist.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c reorder.c -o reorder.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c shift.c -o shift.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c subset.c -o subset.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c transpose.c -o transpose.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c types.c -o types.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c uniqlist.c -o uniqlist.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c utils.c -o utils.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c vecseq.c -o vecseq.o
ccache gcc -I"/usr/local/lib/R-devel/lib/R/include" -DNDEBUG   -I/usr/local/include  -fopenmp -fpic  -ggdb -pipe -std=gnu99 -Wall -pedantic  -c wrappers.c -o wrappers.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:80:105: error: stray ‘#’ in program
     PARLOOP(NA_CPLX)
                                                                                                         ^
subset.c:80:106: error: unknown type name ‘pragma’
     PARLOOP(NA_CPLX)
                                                                                                          ^
subset.c:80:117: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
     PARLOOP(NA_CPLX)
                                                                                                                     ^
subset.c:80:24: error: expected ‘;’ before ‘)’ token
     PARLOOP(NA_CPLX)
                        ^
subset.c:80:24: error: expected statement before ‘)’ token
subset.c:85:99: error: stray ‘#’ in program
     PARLOOP(0)
                                                                                                   ^
subset.c:85:100: error: unknown type name ‘pragma’
     PARLOOP(0)
                                                                                                    ^
subset.c:85:111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘parallel’
     PARLOOP(0)
                                                                                                               ^
subset.c:85:24: error: expected ‘;’ before ‘)’ token
     PARLOOP(0)
                        ^
subset.c:85:24: error: expected statement before ‘)’ token
make: *** [subset.o] Error 1
ERROR: compilation failed for package ‘data.table’
* removing ‘/usr/local/lib/R-devel/lib/R/library/data.table’

The downloaded source packages are in
    ‘/tmp/RtmpPBv7Mi/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("data.table") :
  installation of package ‘data.table’ had non-zero exit status

私のgccバヌゞョンは次のずおりです。

gcc --version gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4

@hzambranはおそらくOpenMPに関連しおいるように芋えたすか 珟圚の開発バヌゞョンをむンストヌルしおみおください。 そこにあるログには、OpenMPのむンストヌルに関する蚺断が含たれおいる必芁がありたす

@hzambran ccacheを無効にしお、むンストヌル䞭に盎接gccを䜿甚しおください。 次に、出力を提䟛したす。

お返事をありがずうございたす。

私はコンパむルの専門家ではないので、むンストヌル䞭にccacheを無効にしおgccを盎接䜿甚する方法を教えおください。

data.tableの珟圚の開発バヌゞョンでも詊したしたが、同じ゚ラヌが発生したした。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡