R 3.5.1 - 从源代码构建 data.table 在 Travis CI 上失败



我目前正在尝试为一个书落项目设置持续集成

该项目将依赖项与 packrat 捆绑在一起,因此 Travis CI 需要从源代码构建所需的包。对于许多包来说,这似乎还可以,但是对于 data.table 来说,构建失败了。

我正在使用当前版本的 data.table (1.11.8( 和 R (3.5.1(

也许我在我的 Makevars 中指定了错误的 C 编译器版本

我还能检查什么来让它工作?

...
Installing curl (3.2) ... 
OK (built source)
Installing data.table (1.11.8) ... 
[1] "Command failed (1)nnFailed to run system command:nnt'/home/travis/R-bin/lib/R/bin/R' --vanilla CMD INSTALL '/tmp/RtmpiHzV25/data.table' --library='/home/travis/build/henningsway/Advanced-R-Solutions/packrat/lib/x86_64-pc-linux-gnu/3.5.1' --install-tests --no-docs --no-multiarch --no-demo nnThe command failed with output:n* installing *source* package 'data.table' ...n** package 'data.table' successfully unpacked and MD5 sums checkedn** libsnclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c assign.c -o assign.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c between.c -o between.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c bmerge.c -o bmerge.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c chmatch.c -o chmatch.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c dogroups.c -o dogroups.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c fastmean.c -o fastmean.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c fcast.c -o fcast.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c fmelt.c -o fmelt.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c forder.c -o forder.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c frank.c -o frank.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c fread.c -o fread.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c freadR.c -o freadR.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c fsort.c -o fsort.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c fwrite.c -o fwrite.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c fwriteR.c -o fwriteR.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c gsumm.c -o gsumm.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c ijoin.c -o ijoin.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c init.c -o init.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c inrange.c -o inrange.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c nqrecreateindices.c -o nqrecreateindices.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c openmp-utils.c -o openmp-utils.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c quickselect.c -o quickselect.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c rbindlist.c -o rbindlist.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c reorder.c -o reorder.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c shift.c -o shift.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c subset.c -o subset.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c transpose.c -o transpose.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c uniqlist.c -o uniqlist.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c vecseq.c -o vecseq.onclang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c wrappers.c -o wrappers.onclang -shared -L/home/travis/R-bin/lib/R/lib -L/home/travis/R-bin/lib -o data.table.so assign.o between.o bmerge.o chmatch.o dogroups.o fastmean.o fcast.o fmelt.o forder.o frank.o fread.o freadR.o fsort.o fwrite.o fwriteR.o gsumm.o ijoin.o init.o inrange.o nqrecreateindices.o openmp-utils.o quickselect.o rbindlist.o reorder.o shift.o subset.o transpose.o uniqlist.o vecseq.o wrappers.o -fopenmp -L/home/travis/R-bin/lib/R/lib -lRnmv data.table.so datatable.sonif [ "" != "Windows_NT" ] && [ `uname -s` = 'Darwin' ]; then install_name_tool -id datatable.so datatable.so; fininstalling to /home/travis/build/henningsway/Advanced-R-Solutions/packrat/lib/x86_64-pc-linux-gnu/3.5.1/data.table/libsn** Rn** instn** testsn** byte-compile and prepare package for lazy loadingn** helpn*** installing help indicesn** building package indicesn** installing vignettesn** testing if installed package can be loadednError: package or namespace load failed for 'data.table' in dyn.load(file, DLLpath = DLLpath, ...):n unable to load shared object '/home/travis/build/henningsway/Advanced-R-Solutions/packrat/lib/x86_64-pc-linux-gnu/3.5.1/data.table/libs/datatable.so':n  libomp.so: cannot open shared object file: No such file or directorynError: loading failednExecution haltednERROR: loading failedn* removing '/home/travis/build/henningsway/Advanced-R-Solutions/packrat/lib/x86_64-pc-linux-gnu/3.5.1/data.table'"
Error: Command failed (1)
Failed to run system command:
'/home/travis/R-bin/lib/R/bin/R' --vanilla CMD INSTALL '/tmp/RtmpiHzV25/data.table' --library='/home/travis/build/henningsway/Advanced-R-Solutions/packrat/lib/x86_64-pc-linux-gnu/3.5.1' --install-tests --no-docs --no-multiarch --no-demo 
The command failed with output:
* installing *source* package 'data.table' ...
** package 'data.table' successfully unpacked and MD5 sums checked
** libs
clang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c assign.c -o assign.o
clang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c between.c -o between.o
clang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c bmerge.c -o bmerge.o
clang -I"/home/travis/R-bin/lib/R/include" -DNDEBUG   -I/home/travis/R-bin/include  -fopenmp -fpic  -g -O2  -c chmatch.c -o chmatch.o
clang -I"/home/
Execution halted
The command "R -e "0" --args --bootstrap-packrat" failed and exited with 1 during .
Your build has been stopped.

设置CC=gcc实际上为我解决了data.table编译问题。

(我认为为 clang 设置一些其他参数也是一种选择,如上面的评论@jaaps所示(

最新更新