繁体   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