R Ошибка проверки CMD: отсутствует файл «DESCRIPTION», несмотря на то, что он был ранее распознан в приглашении - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь собрать и проверить пакет с некоторым кодом Фортрана в Windows 10 с R 3.4.0, обновляя некоторый код ранее в R 2.8.Я делаю это в три этапа в командном окне:

>R CMD build src
[...]
* checking DESCRIPTION meta-information ... OK

Итак, я предполагаю, что с файлом DESCRIPTION все в порядке:

>R CMD check --no-examples --no-tests src

Я получаю среди прочего:

* checking for file 'src/DESCRIPTION' ... OK

Чуть дальше это не так на

* checking whether package 'pckgname' can be installed 

Глядя на журнал внутри файла /src.Rcheck/00install.out, я прочитал:

Error in .get_package_metadata(dir, FALSE) : 
Files 'DESCRIPTION' and 'DESCRIPTION.in' are missing.
ERROR: installing Rd objects failed for package 'samara'

Я скопировал и вставил файл DESCRIPTION практически везде, где это имело смысл, включая каталог верхнего уровня и каталог \ src или только в этом каталоге в некоторых других испытаниях, с всегда одинаковым результатом.Это странно, потому что иногда файл DESCRIPTION распознается, иногда это не

Существует только один подобный пост, посвященный этой теме: Ошибка сборки пакета R Автор, похоже, решил свою проблему, ноон не знает как.Кто-нибудь знает, что случилось?

Следуя некоторым запросам, вот содержимое файлов 00check.log и 00install.out:

00check.log

C:\Users\username\Documents\PCKGNAME\SRC_5.0.2E\pckgname>R CMD check --no-  examples --no-tests src

* using log directory 'C:/Users/username/Documents/PCKGNAME/SRC_5.0.2E/pckgname/src.Rcheck'
* using R version 3.4.0 (2017-04-21)
* using platform: x86_64-w64-mingw32 (64-bit)
* using session charset: ISO8859-1
* using options '--no-examples --no-tests'
* checking for file 'src/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'pckgname' version '5.0.2.5'
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... NOTE
Found the following apparent object files/libraries:
src-x64/FortPrg1.o src-x64/FortPrg2.o src-x64/FortPrg3.o
Object files/libraries should not be included in a source package.
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... NOTE
Found the following hidden files and directories:
R/.Rhistory
These were most likely included in error. See section 'Package
structure' in the 'Writing R Extensions' manual.
* checking for portable file names ... OK
* checking whether package 'pckgname' can be installed ... ERROR
Installation failed.
See 'C:/Users/username/Documents/PCKGNAME/SRC_5.0.2E/pckgname/src.Rcheck/00install.out' for details.
* DONE
Status: 1 ERROR, 2 NOTEs

В Prompt есть эта информацияв дополнение к тому, что появилось раньше:

* checking whether package 'pckgname' can be installed ...
Warning: l'exécution de la commande '"C:/PROGRA~1/R/R-34~1.0/bin/x64/Rcmd.exe" 
INSTALL -l "C:/Users/username/Documents/PCKGNAME/SRC_5.0.2E/pckgname/src.Rcheck" --no-html 
"C:\Users\username\DOCUME~1\PCKGNAME\SRC_30~1.7E\pckgname\src"' renvoie un statut 1

Теперь в файле 00install.out:

* installing *source* package 'pckgname' ...
** libs

*** arch - i386
c:/Rtools/mingw_32/bin/gfortran    -O3  -mtune=core2 -c  FortPrg1.f90 -o FortPrg1.o
c:/Rtools/mingw_32/bin/gfortran    -O3  -mtune=core2 -c  FortPrg2.f90 -o FortPrg2.o
c:/Rtools/mingw_32/bin/gfortran    -O3  -mtune=core2 -c  FortPrg3.f90 -o FortPrg3.o
c:/Rtools/mingw_32/bin/gfortran -shared -s -static-libgcc -o pckgname.dll   tmp.def FortPrg1.o FortPrg2.o FortPrg3.o -Ld:/Compiler/gcc-4.9.3/local330/lib/i386 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/PROGRA~1/R/R-34~1.0/bin/i386 -lR
installing to C:/Users/username/Documents/PCKGNAME/SRC_5.0.2E/pckgname/src.Rcheck/pckgname/libs/i386

*** arch - x64
c:/Rtools/mingw_64/bin/gfortran    -O2  -mtune=core2 -c  FortPrg1.f90 -o FortPrg1.o
c:/Rtools/mingw_64/bin/gfortran    -O2  -mtune=core2 -c  FortPrg2.f90 -o FortPrg2.o
c:/Rtools/mingw_64/bin/gfortran    -O2  -mtune=core2 -c  FortPrg3.f90 -o FortPrg3.o
c:/Rtools/mingw_64/bin/gfortran -shared -s -static-libgcc -o pckgname.dll tmp.def FortPrg1.o FortPrg2.o FortPrg3.o -Ld:/Compiler/gcc-4.9.3/local330/lib/x64 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/PROGRA~1/R/R-34~1.0/bin/x64 -lR
installing to C:/Users/username/Documents/PCKGNAME/SRC_5.0.2E/pckgname/src.Rcheck/pckgname/libs/x64
** R
** demo
** preparing package for lazy loading
Warning: package 'survival' was built under R version 3.4.4
Warning: package 'boot' was built under R version 3.4.4
Warning: package 'xlsx' was built under R version 3.4.4
Warning: package 'ggplot2' was built under R version 3.4.4
Warning: package 'GGally' was built under R version 3.4.4
[1] "Chargement de gdata ..."
[1] "Chargement de survival ..."
[1] "Chargement de boot ..."
[1] "Chargement de tcltk ..."
[1] "Chargement de xlsx ..."


---------------------------------------------
Package PCKGNAME genere le ven. sept. 28 17:14:21 2018 
---------------------------------------------


Librairie Pckgname V5.0.2E Chargee
** help
No man pages found in package  'pckgname' 
Error in .get_package_metadata(dir, FALSE) : 
Files 'DESCRIPTION' and 'DESCRIPTION.in' are missing.
ERROR: installing Rd objects failed for package 'pckgname'
* removing 'C:/Users/username/Documents/PCKGNAME/SRC_5.0.2E/pckgname/src.Rcheck/pckgname'

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

С помощью пользователя 2554330 я решил проблему.Я сделал следующие вещи:

-Я реорганизован в pckgname / R и pckgname / src (вместо pckgname / src / R и pckgname / src / src ранее)

-Я использовал R Studio,Сначала я создал новый проект (создайте новый пакет) с помощью RStudio и devtools: Файл> Создать новый проект> Пакет R с помощью devtools.И я положил туда свои файлы

- я собрал и проверил исключительно через интерфейс Rstudio

0 голосов
/ 27 сентября 2018

Обычно вы должны хранить пакет с именем samara в каталоге с таким же именем.Вы, кажется, имеете это в src.Это должно работать, но я не удивлюсь, если что-то в контрольном коде неявно предполагает, что вы следовали обычному соглашению.

Другая вещь, которую обычно делают, это то, что вы создаете архив с исходным кодом пакета и проверяете это.То есть вы запускаете R CMD check на выходе R CMD build, а не на входе.Опять же, то, что вы делаете, должно в основном работать (хотя и не идеально в этом случае; содержимое tarball обычно не идентично исходным каталогам), но, возможно, эти два нестандартных способа работы вызывают ваши проблемы.

...