安装RMySQL时出错(在Ubuntu 14.04中为MySQL 5.5.37)

时间:2014-07-16 19:03:13

标签: r ubuntu rmysql

每次我尝试安装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并且我搜索并改变了路径

  

export PKG_CPPFLAGS =“ - I / usr / R / include / mysql / mysql.h”

但没有成功。有很多人有同样的问题但他们的解决方案(如果存在)没有为我工作。我很感激任何评论或帮助。

#Update:问题已解决#

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

  

sudo apt-get install r-cran-rmysql

5 个答案:

答案 0 :(得分:21)

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

  

sudo apt-get install r-cran-rmysql

答案 1 :(得分:5)

执行以下命令解决了我的问题:

sudo apt-get install libmysql++-dev

答案 2 :(得分:2)

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

sudo apt-get install r-cran-rmysql

(我在薄荷12上)

答案 3 :(得分:1)

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

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

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

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

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

答案 4 :(得分:0)

设置:1

find / -name mysql.h

如果没有找到头文件丢失

设置: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