15

每次我尝试安装 RMySQL 时,都会出现以下错误:

Installing package into ‘/home/ehsan/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
* installing *source* package ‘RMySQL’ ...
** package ‘RMySQL’ successfully unpacked and MD5 sums checked
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for compress in -lz... yes
checking for getopt_long in -lc... yes
checking for mysql_init in -lmysqlclient... yes
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
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/mysql.h     -fpic  -O3 -pipe  -g  -c RS-DBI.c -o RS-DBI.o
cc1: warning: /usr/include/mysql/mysql.h: not a directory [enabled by default]
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/include/mysql/mysql.h     -fpic  -O3 -pipe  -g  -c RS-MySQL.c -o RS-MySQL.o
cc1: warning: /usr/include/mysql/mysql.h: not a directory [enabled by default]
In file included from RS-MySQL.c:22:0:
RS-MySQL.h:32:19: fatal error: mysql.h: No such file or directory
 #include <mysql.h>
                   ^
compilation terminated.
make: *** [RS-MySQL.o] Error 1
ERROR: compilation failed for package ‘RMySQL’
* removing ‘/home/ehsan/R/x86_64-pc-linux-gnu-library/3.0/RMySQL’
The downloaded source packages are in
    ‘/tmp/RtmpTRRPqg/downloaded_packages’
Warning message:
In install.packages("RMySQL") :
  installation of package ‘RMySQL’ had non-zero exit status**

看起来,它找不到 mysql.h 我搜索并将路径更改为

导出 PKG_CPPFLAGS="-I/usr/R/include/mysql/mysql.h"

但这并不成功。有很多人遇到过同样的问题,但他们的解决方案(如果存在)没有一个对我有用。我将不胜感激任何评论或帮助。

#更新:问题已解决#

以下命令似乎解决了这个问题:

sudo apt-get install r-cran-rmysql

4

5 回答 5

24

如前所述,以下命令对我有用:

sudo apt-get install r-cran-rmysql

于 2015-01-17T22:22:17.027 回答
6

我通过执行以下命令解决了这个问题:

sudo apt-get install libmysql++-dev
于 2016-10-17T07:57:23.123 回答
2

因为@ehsanmo 没有发布他的答案作为答案,所以我会,并确认他的解决方案也适用于我:

sudo apt-get install r-cran-rmysql

(我在薄荷 12)

于 2014-11-22T12:06:27.377 回答
1

好吧,有两种类型的安装/制作问题。缺少 .h 文件和/或缺少 .so/.a 库。正如您从日志中看到的,您缺少 .h

这些原因是多方面的:1.-未安装提供这些的软件包。这意味着在 /usr 树中的任何地方都找不到这些文件。解决方案是安装正确的包,确保文件在那里

2.-安装配置器找不到包含的内容。这意味着某些环境变量或安装选项未正确设置。通常在文档中指定要设置哪个变量;在某些情况下,您需要在 R 之外安装一些东西,这通常在文档中指定。

3.- 库不在 LD_LIBRARY_PATH 中,希望解决方案是不言自明的。

4.- 存在更深层次的编译/链接错误,这意味着软件包与软件的其余部分不兼容,或者没有正确移植。

于 2014-07-16T19:24:52.003 回答
0

设置:1

find / -name mysql.h

如果找不到头文件丢失

Setp :1 然后安装或重新安装 mysql-devel 或 mysql-client

sudo yum (re)install mysql-devel
sudo yum (re)install mysql-client

sudo yum (re)install mysql-community-devel
sudo yum (re)install mysql-community-client
于 2020-12-26T13:02:01.123 回答