devtools :: проверка завершается неудачно из-за проблемы с 64-битной Java - PullRequest
1 голос
/ 12 октября 2019

Я пытаюсь создать собственный R-пакет. Вчера вечером все работало нормально, но после некоторых незначительных изменений в функции сегодня devtools::check завершается с ошибкой, как показано ниже (ссылка на файл журнала, на который есть ссылка, дает ту же информацию, что и в разделе -- Install failure -- приведенной ниже ошибки):

>devtools::check(pkg_path)
Updating JTools documentation
Writing NAMESPACE
Loading JTools
Welcome to my package of custom functions. They're grRreat!
Writing NAMESPACE
-- Building ---------------------------------------------------------- JTools --
Setting env vars:
* CFLAGS    : -Wall -pedantic
* CXXFLAGS  : -Wall -pedantic
* CXX11FLAGS: -Wall -pedantic
--------------------------------------------------------------------------------
√  checking for file 'B:\shared_with_VM\programming\R\Packages\JTools/DESCRIPTION' ...
-  preparing 'JTools':
√  checking DESCRIPTION meta-information ... 
-  checking for LF line-endings in source and make files and shell scripts
-  checking for empty or unneeded directories
   Removed empty directory 'JTools/test'
-  building 'JTools_0.0.0.9000.tar.gz'

-- Checking ---------------------------------------------------------- JTools --
Setting env vars:
* _R_CHECK_CRAN_INCOMING_REMOTE_: FALSE
* _R_CHECK_CRAN_INCOMING_       : FALSE
* _R_CHECK_FORCE_SUGGESTS_      : FALSE
-- R CMD check -----------------------------------------------------------------------
-  using log directory 'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck'
-  using R version 3.6.1 (2019-07-05)
-  using platform: x86_64-w64-mingw32 (64-bit)
-  using session charset: ISO8859-1
-  using options '--no-manual --as-cran'
√  checking for file 'JTools/DESCRIPTION' ...
-  this is package 'JTools' version '0.0.0.9000'
-  package encoding: UTF-8
√  checking package namespace information
√  checking package dependencies (1.5s)
√  checking if this is a source package ...
√  checking if there is a namespace
√  checking for .dll and .exe files
√  checking for hidden files and directories ... 
√  checking for portable file names ... 
E  checking whether package 'JTools' can be installed (2.9s)
   Installation failed.
   See 'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck/00install.out' for details.

   See
     'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck/00check.log'
   for details.

-- R CMD check results ---------------------------------------- JTools 0.0.0.9000 ----
Duration: 4.8s

> checking whether package 'JTools' can be installed ... ERROR
  See below...

-- Install failure -------------------------------------------------------------------

* installing *source* package 'JTools' ...
** using staged installation
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
*** arch - i386
Error: package or namespace load failed for 'JTools':
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'C:/Program Files/R/R-3.6.1/library/rJava/libs/i386/rJava.dll':
  LoadLibrary failure:  %1 is not a valid Win32 application.

Error: loading failed
Execution halted
*** arch - x64
ERROR: loading failed for 'i386'
* removing 'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck/JTools'

1 error x | 0 warnings √ | 0 notes √

Я проверил, что мой компьютер, R и Java все 64-битные версии:

> system("java -version")
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
[1] 0

> R.Version()
$platform
[1] "x86_64-w64-mingw32"

$arch
[1] "x86_64"

$os
[1] "mingw32"

$system
[1] "x86_64, mingw32"

$status
[1] ""

$major
[1] "3"

$minor
[1] "6.1"

$year
[1] "2019"

$month
[1] "07"

$day
[1] "05"

$`svn rev`
[1] "76782"

$language
[1] "R"

$version.string
[1] "R version 3.6.1 (2019-07-05)"

$nickname
[1] "Action of the Toes"

> .Machine$sizeof.pointer
[1] 8

Я попытался обновить Java и удалить / переустановить rJava, но безрезультатно. Основываясь на предложениях здесь и здесь Я проверил переменную среды Java:

> Sys.getenv("JAVA_HOME")
[1] ""

Но я все еще получаю ту же ошибку

...