2012-01-25 2 views
0

Я разработал все эти рецепты, шаг за шагом. Проверено много раз, что встречается каждое условие:Компиляция RMySQL не работает: R и R CMD

  1. Using MySQL in R for Windows

  2. adding RMySQL package to R fails (on Windows)?

  3. http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL

  4. http://cran.r-project.org/web/packages/RMySQL/INSTALL

Моя установка:

  • Windows XP 32bit

  • MySQL 5.5 клиент/сервер со всеми необходимыми Lib и включают в себя файлы

  • ПУТЬ: C: \ Program Files \ R \ R-2,12. 2 \ bin \ i386; C: \ WINDOWS \ system32; C: \ WINDOWS; C: \ Progra ~ 1 \ R \ R-212 ~ 1.2 \ bin; C: \ Rtools \ bin; C: \ Rtools \ MinGW \ Bin

Тем не менее я не могу даже начать компиляцию с Р. RStudio дает мне:

> install.packages('RMySQL', type ='source') 
Installing package(s) into ‘C:/Documents and Settings/.../My Documents/R/win-library/2.12’ 
(as ‘lib’ is unspecified) 
trying URL 'http://ftp5.gwdg.de/pub/misc/cran/src/contrib/RMySQL_0.9-3.tar.gz' 
Content type 'application/x-gzip' length 165363 bytes (161 Kb) 
opened URL 
downloaded 161 Kb 

>Warning in install.packages : 
    installation of package 'RMySQL' had non-zero exit status 

>The downloaded packages are in 
    ‘C:\Documents and Settings\...\Local Settings\Temp\RtmpZnaoz4\downloaded_packages’ 

R CMD начинает компиляцию, но затем он внезапно выходит из строя. Мне пришлось добавить путь к C:\Rtools\MinGW\bin в путь по умолчанию для R CMD для доступа к gcc, хотя он не упоминается ни в одном из вышеуказанных рецептов. Я подозреваю, что что-то происходит с путями. Возможно, R не имеет доступа к Rtools или gcc или Rcmd, MySQL или что-то еще ...

>C:\Documents and Settings\...\downloaded_packages>R CMD INSTALL RMySQL_*.tar.gz 

>* installing to library 'C:\Documents and Settings\...\My Documents/R/win-library/2.12' 

>* installing *source* package 'RMySQL' ... 

>checking for $MYSQL_HOME... C:/PROGRA~1/MySQL/MYSQLS~1.5 

>cygwin warning: 

> MS-DOS style path detected: C:/PROGRA~1/MySQL/MYSQLS~1.5 

> Preferred POSIX equivalent is: /cygdrive/c/PROGRA~1/MySQL/MYSQLS~1.5 

> CYGWIN environment variable option "nodosfilewarning" turns off this warning. 

> Consult the user's guide for more details about POSIX paths: 

> http://cygwin.com/cygwin-ug-net/using.html#using-pathnames 

>** libs 

>Warning: this package has a non-empty 'configure.win' file, 

>so building only the main architecture 

>cygwin warning: 

> MS-DOS style path detected: C:/PROGRA~1/R/R-212~1.2/etc/i386/Makeconf 

> Preferred POSIX equivalent is: /cygdrive/c/PROGRA~1/R/R-212~1.2/etc/i386/Makeconf 

> CYGWIN environment variable option "nodosfilewarning" turns off this warning. 

> Consult the user's guide for more details about POSIX paths: 

> http://cygwin.com/cygwin-ug-net/using.html#using-pathnames 

>gcc -I"C:/PROGRA~1/R/R-212~1.2/include" -I"C:/PROGRA~1/MySQL/MYSQLS~1.5"/include  >-O3 -Wall -std=gnu99 -c RS-DBI.c -o RS-DBI.o 

>gcc -I"C:/PROGRA~1/R/R-212~1.2/include" -I"C:/PROGRA~1/MySQL/MYSQLS~1.5"/include  >-O3 -Wall -std=gnu99 -c RS-MySQL.c -o RS-MySQL.o 

>gcc -shared -s -static-libgcc -o RMySQL.dll tmp.def RS-DBI.o RS-MySQL.o C:/PROGRA~1/MySQL/MYSQLS~1.5/lib/opt/libmysql.lib -LC:/PROGRA~1/R/R-212~1.2/bin/i386 -lR 

>installing to C:\Documents and Settings\...\My Documents/R/win-library/2.12/RMySQL/libs/i386 

>** R 

>** inst 

>** preparing package for lazy loading 

>Creating a new generic function for "format" in "RMySQL" 

>Creating a new generic function for "print" in "RMySQL" 

>** help 

>*** installing help indices 

>** building package indices ... 

>** testing if installed package can be loaded 

>MYSQL_HOME defined as C:/PROGRA~1/MySQL/MYSQLS~1.5 

>Error : .onLoad failed in loadNamespace() for 'RMySQL', details: 

> call: dir(path = mysql, pattern = "^include$", include.dirs = TRUE, 

> error: unused argument(s) (include.dirs = TRUE) 

>ERROR: loading failed 
>* removing 'C:\Documents and Settings\...\My Documents/R/win-library/2.12/RMySQL' 
+1

Есть ли веская причина для этого с устаревшей версией R? Я только что проверил, и версия вашего RMySQL актуальна и, вероятно, отличается от существующей с R 2.12. –

ответ

1

Прочитать сообщение об ошибке.

call: dir(blah blah

error: unused argument(s) (include.dirs = TRUE)

include.dirs аргумент dir был добавлен в R-2.13.0. См. Файл NEWS.

+0

Thanx! Подтверждено, что он работает после обновления R. Я использовал следующую процедуру для обновления: http://www.r-statistics.com/2010/04/changing-your-r-upgrading-strategy-and-the-r-code-to-do-it-on- windows/и следующую процедуру для установки RMySQL: http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL – dabac76

+0

@garavi: Если ответ решит вашу проблему, нажмите стрелку вверх рядом с ответом на upvote и отметьте его как решение. –

Смежные вопросы