簡體   English   中英

無法在 R 3.0.2 (ubuntu 14.04) 上安裝 RMySQL

[英]Can't install RMySQL on R 3.0.2 (ubuntu 14.04)

到目前為止,我遇到了這個錯誤;

Configuration error:
  could not find the MySQL installation include and/or library
  directories.  Manually specify the location of the MySQL
  libraries and the header files and re-run R CMD INSTALL.

INSTRUCTIONS:

1. Define and export the 2 shell variables PKG_CPPFLAGS and
   PKG_LIBS to include the directory for header files (*.h)
   and libraries, for example (using Bourne shell syntax):

      export PKG_CPPFLAGS="-I<MySQL-include-dir>"
      export PKG_LIBS="-L<MySQL-lib-dir> -lmysqlclient"

   Re-run the R INSTALL command:


      R CMD INSTALL RMySQL_<version>.tar.gz

2. Alternatively, you may pass the configure arguments
      --with-mysql-dir=<base-dir> (distribution directory)
   or
      --with-mysql-inc=<base-inc> (where MySQL header files reside)
      --with-mysql-lib=<base-lib> (where MySQL libraries reside)
   in the call to R INSTALL --configure-args='...' 

   R CMD INSTALL --configure-args='--with-mysql-dir=DIR' RMySQL_<version>.tar.gz

ERROR: configuration failed for package ‘RMySQL’
* removing ‘/home/samuel/R/x86_64-pc-linux-gnu-library/3.0/RMySQL’
Warning in install.packages :
  installation of package ‘./RMySQL_0.9-3.tar.gz’ had non-zero exit status

所以我遵循它在 1 中所說的。

我輸入

export PKG_CPPFLAGS="-I</usr/include/mysql>"
export PKG_LIBS="-L</usr/lib/mysql> -lmysqlclient"

然后在終端上再次嘗試使用他們給我的命令進行安裝

 R CMD INSTALL RMySQL_<version>.tar.gz

我明白了;

checking for unistd.h... yes
checking mysql.h usability... no
checking mysql.h presence... no
checking for mysql.h... no
configure: creating ./config.status
config.status: creating src/Makevars
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I</usr/include/mysql>     -fpic  -O3 -pipe  -g  -c RS-DBI.c -o RS-DBI.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I</usr/include/mysql>     -fpic  -O3 -pipe  -g  -c RS-MySQL.c -o RS-MySQL.o
In file included from RS-MySQL.c:22:0:
RS-MySQL.h:32:19: fatal error: mysql.h: No existe el archivo o el directorio
 #include <mysql.h>
                   ^
compilation terminated.
make: *** [RS-MySQL.o] Error 1
ERROR: compilation failed for package ‘RMySQL’

所以查找我發現了這個建議;

安裝 RMySQL 出現錯誤 RS-MySQL.h:32:19: fatal error: mysql.h: No such file

並遵循它在這里所說的:

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

我不明白這一步;

3. 編輯或創建文件 Renviron.site 並添加包含 MySQL 安裝位置的變量 MYSQL_HOME。 安裝 R 時通常不會創建該文件,因此您可能需要自己創建它。 您需要將它放在 R Home 區域的 /etc 目錄下。 如果您不知道那在哪里,可以在 R 提示符下發出 R.home() 。 您將在 variable=value 語法中添加一個名為 MYSQL_HOME 的變量。 下面是一個例子: Renviron.site 的位置:C:/PROGRA~1/R/R-2.11~1.0/etc/Renviron.site 內容是:MYSQL_HOME=C:/PROGRA~1/MySQL/MYSQLS~1.0/

因為,當我在 Renviron.site 時,它​​不允許我對其進行任何編輯,我也不知道我應該在那里放什么,無論如何,我寫

MYSQL_HOME=C:/PROGRA~1/MySQL/MYSQLS~1.0/***

但我無法保存它,它不允許我,因為它說我不允許,而且我無法在 /etc/ 中創建新文件或任何內容

對我來說,我只需要獲得包含這些文件的正確包

sudo apt-get install libmysqlclient-dev

對於我的 ubuntu 版本 14.04.3,我需要做的就是:

install.packages("RMySQL", dependencies=TRUE)

不久前在 Windows 機器上遇到了更多問題,但事實證明這是與 perl 的兼容性問題,因此我 (1) 卸載了 perl,(2) 以相同的方式安裝了 RMySQL,然后 (3) 重新安裝了 perl。

從那以后一直工作。

你的輸入是錯誤的,首先去掉大於號和小於號。 然后對於 MySQL 包含目錄運行命令:

$ mysql_config --include

所以,如果它與您已經提供的路徑相同,而不是:

export PKG_CPPFLAGS="-I</usr/include/mysql>"

進入:

export PKG_CPPFLAGS="-I/usr/include/mysql"

對於庫路徑輸入命令:

$ mysql_config --libs

和上面一樣,進入沒有標志的路徑對我來說就像:

export PKG_LIBS="-L/usr/lib/x86_64-linux-gnu -lmysqlclient"

最后在最后輸入而不是“version”指定一個版本號。 這些步驟應該可以解決您的問題。 要在 /etc/ 目錄中進行編輯和寫入,您應該具有權限,如果您是管理員,則可以通過 sudo 命令執行此操作。 以及您提供的路徑適用於 Windows 而不是 linux。

這個對我有用:

sudo apt-get install r-cran-rmysql

當我嘗試在 R 中安裝 RMySQL 時,它提示一條錯誤消息:

Configuration failed because no mysql client library was found. Try installing:
 * deb: libmariadbclient-dev | libmariadb-client-lgpl-dev (Debian, Ubuntu)

然后我就做了:

sudo apt-get install libmariadbclient-dev
sudo apt-get install libmariadb-client-lgpl-dev

我能夠使用以下方法在 R 中安裝 RMySQL:

install.packages("RMySQL", dependencies=TRUE)

這是因為機器中缺少 mysql.h(頭文件)文件。

Setp :1嘗試從機器中找到 mysql.h 文件

find / -name mysql.h

如果找不到Setp :2嘗試重新安裝

sudo yum reinstall mysql-devel
Sudo yum reinstall mysql-client

如果它的社區服務器

sudo yum reinstall mysql-community-devel
Sudo yum reinstall mysql-community-client
  • 您也可以按版本指定

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM