Пакет играчка за изграждане, свързващ се с Rcpp

Опитвах се да създам фиктивен пакет, следвайки книгата Безпроблемна R и C++ интеграция с Rcpp Това по същество изпълнява 1-лайн: Rcpp.package.skeleton("mypackage")

J:\R\tests>ls -rla mypackage
total 2
drwx------+ 1  mkpasswd   0 Jul 24 12:24 src
drwx------+ 1  mkpasswd   0 Jul 24 12:24 man
drwx------+ 1  mkpasswd   0 Jul 24 12:24 R
-rwx------  1  mkpasswd  54 Jul 24 12:24 NAMESPACE
-rwx------  1  mkpasswd 336 Jul 24 12:24 DESCRIPTION
drwx------+ 1  mkpasswd   0 Jul 24 12:24 ..
drwx------+ 1  mkpasswd   0 Jul 24 12:24 .

Всичко работи правилно и след това се опитах да инсталирам новосъздадения пакет.

J:\R\tests>"C:\Program Files\R\R-3.0.1\bin\x64\R.exe" CMD INSTALL mypackage

това се проваля ужасно

J:\R\tests>"C:\Program Files\R\R-3.0.1\bin\x64\R.exe" CMD INSTALL mypackage

package::utils loaded
LC_TIME have been set to C
Sourcing utility file : J:/R//utils/utils.R
Adding instantClient path: C:\instantclient\x64\instantclient_11_2 to PATH
Adding MOSEK: C:\Travail\Tools\mosek\7\tools\platform\win64x86\bin to PATH
J:/R//utils/descriptifTables.csv successfully loaded in a global data.frame descriptifTables

##------ [J:/R/tests] Wed Jul 24 12:26:42 2013 ------##
* installing to library 'J:/R/win-library/3.0'
* installing *source* package 'mypackage' ...
** libs

*** arch - i386
g++ -m32 -I"C:/PROGRA~1/R/R-30~1.1/include" -DNDEBUG    -I"J:/R/win-library/3.0/Rcpp/include" -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c rcpp_hello_world.cpp -o rcpp_hello_world.o
Syntax error: end of file unexpected (expecting "fi")
make: *** [mypackage.dll] Error 2
ERROR: compilation failed for package 'mypackage'
* removing 'J:/R/win-library/3.0/mypackage'

Опитвам се да направя същото с Rstudio, резултатът е същият. Създадох няколко други пакета от източници (.tar.gz файлове) с не много проблеми


person statquant    schedule 24.07.2013    source източник


Отговори (1)


Странни грешки. Не мога да измисля нищо друго освен да не инсталирам R в пътека с интервали -- препоръка от самия "R за Windows ЧЗВ".

Но това очевидно е само проблем на вашата локална инсталация, така че работете през разделите на Windows в Глава 2 на книгата. Това, че трябва да извикате R, тъй като странното "C:\Program Files\R\R-3.0.1\bin\x64\R.exe" силно предполага, че не сте инсталирали R и Rtools, както се предполагаше.

person Dirk Eddelbuettel    schedule 24.07.2013
comment
Кажете на моя работодател... всеки път, когато правя нещо у дома на Ubuntu или Mint, то работи веднага, правенето му на Windows 7 отнема неограничено много време. - person statquant; 24.07.2013
comment
Рядко работя с Windows (дори в офиса), но когато го правя, знам как да задам PATH. Не е ли толкова трудно, наистина... - person Dirk Eddelbuettel; 24.07.2013
comment
Sys.setenv(PATH="whatever") в моя Renviron.site файл. Знам, но може би не е толкова лесно... - person statquant; 24.07.2013
comment
Това е грешно и вие получавате това, което заслужавате. Трябва да зададете PATH преди да стартирате обвивката, в която работите, т.е. задайте PATH за цялата система и след това стартирайте нов нов cmd.exe. - person Dirk Eddelbuettel; 24.07.2013
comment
Нямам представа какво искаш да кажеш току-що. Има много уроци за това как да настроите R среда за компилиране, когато сте на неблагоприятната за разработка платформа Windows. Защо не прочетете едно от тях? - person Dirk Eddelbuettel; 24.07.2013
comment
Опитвах се да кажа, че задаването на PATH преди стартиране на обвивката не е задължително (stat.ethz.ch/R-manual/R-devel/library/base/html/Startup.html), въпреки че помогна за намирането на виновника. Благодаря за вашата помощ - person statquant; 24.07.2013
comment
Вие все още грешите и търсите на грешното място. Нека цитирам: Това приложение съдържа много предписващи коментари. Те са тук в резултат на горчив опит. Моля, не съобщавайте за проблеми на пощенските списъци на R, освен ако не сте спазили всички предписания. - person Dirk Eddelbuettel; 24.07.2013
comment
нека да продължим тази дискусия в чата - person statquant; 24.07.2013
comment
Не благодаря. Не, освен ако не промениш дръжката си/изхвърлиш това „Трябва да бъда незабавен“. глупости по професионални причини. - person Dirk Eddelbuettel; 24.07.2013